public class test {
public static void main(String args[]){
String a="abc";
String b="abc";
String c=new String("abc");
String d=new String("abc");
System.out.println(a==b);//true
System.out.println(a==c);//false
System.out.println(c==d);//false
System.out.println(a==c.intern());//true
System.out.println(a.intern()==c.intern());//true
System.out.println(c.intern()==d.intern());//true
System.out.println(a.equals(b));//true
System.out.println(a.equals(c));//true
System.out.println(c.equals(d));//true
}
}
equals == intern()
equals仅表示值相等;只要值相等就可以。
==表示引用的地址也要相等;值、地址必须相等。
intern()先找内存池有无,有则不创建,无则创建;只要含有intern()就相等。