// 看程序,分析结果
String s = “abc”;
StringBuilder sb = new StringBuilder(“abc”);
s.equals(sb);
sb.equals(s);
第一个equals,也就是 s.equals(sb)。这次是由String类所创建的对象进行的调用。String类对equals方法进行了重写。重写之后的本质是:在同一个类里,比较字符串中包含的内容是否相同。String和StringBuilder并不是同一个类,所以s.equals(sb)的结果肯定是false。
第二个equals,这个更好理解。StringBuilder类并没有对equals方法进行重写,它的equals方法比较多仍是两个对象的地址值。