先创建一个标准JavaBean类,Student类
在这个类中重写equals方法
//重写之后的equals方法比较的就是对象内部属性值 @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Student student = (Student) o; return age == student.age && Objects.equals(name, student.name); }
测试类
练习:
false
false
第一个false是因为sb不是一个字符串,在String类中equals方法先判断参数是否为字符串,判断内部值,StringBuilder是一个字符串容器,输出不为字符串,需要用toString方法使其输出值为字符串。
第二个false是StringBuilder类中的equals没有重写,只比较两个对象地址值,若想使其变为true,需要重写StringBuilder类中的equals方法