你看下面结果应该就知道怎么会事的
String aa="abc"
Sring bb =new String("abc")
String cc ="abc"
Stirng dd = new String("abc")
System.out.println(aa==bb); false
System.out.println(aa==cc); true
System.out.println(bb==dd); false
注:Sting aa="abc" 的解释因为字符串不可以改变的,常量池中已经有了abc所以不新建了,所以是同一对象。它们是在date区中。
Stirng dd = new String("abc") 很明显是一下对像,bb和dd不是指向同一个对像所以不相同 |