class Person {
int age ;
//复写父类的equals方法,实现自己的比较方式
public boolean equals(Object obj) {
if(this == obj){
return true;
}
//判断传递进来的对象是否是Person类型
if(!(obj instanceof Person)){ // 如果是Person的两个不同子类的对象调用equals方法比较,也有可能相等!
return false;
}
//将obj向下转型为Perosn引用,访问其属性
Person p = (Person)obj;
return this.age == p.age;
}
}
=========================================
if(!(obj instanceof Person)){
return false;
}
// 如果是Person的两个不同子类的对象调用equals方法比较,也有可能相等!
而eclipse自动生成的方法在这里的处理如下,感觉更严谨!
if(getClass()!=obj.getClass){
return false;
}
|
|