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

相关文章
相关标签/搜索