楼上的解释应该是不正确的
String s1=new String();
String s2=new String("");
System.out.println(s1.equals(s2));//这里的true 是因为String中的equals比较的是两个字符串对象中的内容,因为String类把Object类中的equals方法覆盖了。
StringBuffer buffer=new StringBuffer();
StringBuffer buffer1=new StringBuffer("");
System.out.println(buffer1.equals(buffer));
//这里的false是因为equals在StringBuffer类中没有覆盖equals方法,也就是使用了Object中的equals方法,
Object中的equals方法比较的是内存地址。 |