"abc" == new String("abc")

解决方案 »

  1.   

    String a = new String();这句话是分配了内存
    a = "abc"; a的句柄指向"abc"对象
    "abc"也是一个String对象
    a以前的new String()已经可以被垃圾回收了清楚否
      

  2.   

    String a=new String();//定义类型没分配内存
    a="abc";//分配内存
    String a=new String("abc");//定义并分配内存
      

  3.   

    String s = "abc";

    String s = new String("abc");
    应该是一样的
      

  4.   

    如果是String a = "ABC",编译器会先在string缓冲池中寻找是否有字符串"ABC",如果有就赋予a一个指向改字符串的引用,所以
    String a = new String("ABC");
    String b = "ABC"
    a和b指向地址是相同,即a==b返回true如果是String a = new String("ABC"),则不管如何都会产生一个新的String对象