String,StringBuffer

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

相關文章
相關標籤/搜索