String s="123";
String s1="123";
StringBuffer s2=new StringBuffer("123");
StringBuffer s3=new StringBuffer("123");
System.out.println(s==s1); //输出true
System.out.println(s==s2.toString()); //输出false
System.out.println(s.equals(s2)); //输出false
System.out.println(s2.equals(s3)); //输出false
1.string为不可变类,值改变会重新分配地址
StringBuffer是Object类,可变类,值改变不重新分配地址
2.String的equals方法重写了,比较的是值,不是地址
StringBuffer的equal方法未重写,继承Object的,比较的是地址,不是值