eqauls
为什么要重写eqauls方法
因为在Object 类中的eqauls
public boolean equals(Object obj) {
return (this == obj);
}
注意: == 在基本数据类型是 比较值
引用数据类型是 比较地址值
如果我想要根据两个对象的内容相同时,就让其返回true ,在Object 类中的eqauls
是为了两个对象的内容相同时 就返回true
思考问题:String 属于引用数据类型 ,因为String 重写了eqauls 方法
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o; //student -- s2
if (age != student.age) return false;
return name != null ? name.equals(student.name) : student.name == null;
} |
|