public class SystermDemo3 { public static void main(String[] args) { String s="abc"; StringBuilder sb=new StringBuilder("abc"); System.out.println(s.equals(sb));//false //equals方法是被s调用的,而s是字符串 //所以equals要看String类中 //字符串中的equals方法,先判断是否为字符串 //如果是字符串的话,那么在比较对象属性 //如果不是,则直接返回false System.out.println(sb.equals(s)); //equals方法是被sb调用的,而sb是StringBuilder //所以这里的equals方法要看StringBuilder中的equals方法 //那么在StringBuilder当中,没有重写equals方法 //使用的是object的 //在object当中默认是==号比较俩个对象的地址值 //而这里记录的s和sb的地址值是不一样的,所以返回false } }