String比较不是这样的,应该是:
String C="UU".substring(0,1);
        if  ( C.equals("U" )) { ****** ;}
       else  {  ********

解决方案 »

  1.   

    你试一下:
    public static void main(String[] args) {
    //    new B().test();       String C="UU".substring(0,1);
            if  ( C.intern() =="U" )
            {System.out.println("World");}
           else
           { System.out.println("Hello");}  }
      

  2.   

    字符串比较用equals或者compareTo,==是比较地址。1楼的真快呀~hoho~
      

  3.   

    呵呵,对了吧!
    至于为什么会产生你上面的情况呢?因为substring函数的内部机制,他是new出来一个String.所以,你用“==”比较引用,就会不等。最好用equals.
      

  4.   

    if  ( C =="U" )? ·#¥%……—*
      

  5.   

    同意楼上的:)
    你用substring()这个函数得到的其实是一个新的字符串,其内容是你要取得的那一段,但系统给它一个新的地址。一般来说要比较内容上的相等用equals(),但如果你要知道这两个字符串是不是同一个(就是说地址一致)的话就用==,还有比较字符串是否为null时要用==,用equals()会报NullPointerException  :)
      

  6.   

    String 不是基本数据类型,而是一个对象! 对象的比较不能用"==",而应该用equals()。
    这是基本常识!
      

  7.   

    兄弟,String C="UU".substring(0,1);你取出后的值C就是"U",但比较的时候不是这样进行的,应该改为如下:
      

  8.   

    public class Test1{
    public static void main(String args[]){
    String C="UU".substring(0,1);
    System.out.println(C);
            if  ( C.equals("U")) {
             System.out.println("true");
            }
            else  { 
             System.out.println("false");
            }
       }
    }