public static void main(String[] args) {
String a = new String("abc");
String b = new String("abc");
System.out.println(a.equals(b));//比較值 由於String重寫了equals方法(比較的是字符串值的大小)和hashCode方法
System.out.println(a==b);//比較的是引用所指的對象
String aa = "abcd";
String cc = "abcd";
String bb = aa+"d";
System.out.println(aa==cc);
String s = "ab";
String a2 = "a";
String s1 = a2 + "b";
System.out.println(s==s1);
}app
結果是:spa
true
false
true
false對象
StringBuffer s1 = new StringBuffer("123"); StringBuffer s2 = new StringBuffer("123"); StringBuffer s3 = s1; StringBuffer s4 = s1.append("4"); StringBuffer s5 = s3.append("4"); System.out.println(s1.equals(s2));//新的對象 System.out.println(s1 == s2); //新的對象 System.out.println(s1.equals(s3)); System.out.println(s1 == s3); System.out.println(s4.equals(s5)); System.out.println(s4 == s5);
結果是:字符串
false
false
true
true
true
truehash