equals
- equals方法,默认比较的是俩个对象的地址值,没有意义,要求比较对象的内容,所以需要重写equals方法,他比较的是引用类型
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 &&
name.equals(student.name);
}
但是会出现空指针异常,因为null不能调用方法,为了防止,通常将null值放后面或者使用objects的静态equals方法
boolean b = Objects.equals(A,B)
注意:null.equals()空指针异常,但objects的equals没有空指针异常
tostring
- 默认输出地址值,需要重写tostring方法,输出内容
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}