public boolean equals(Object obj){
if(this==obj){//地址相等
return true;
}
if(!(obj instanceof Person)//不是本类的对象
return false;
}
Person p=(Person)obj;//向下转型
if(this.name.equals(p.name)&&this.age==p.age){
return true;
}
else
{return false;
}
}做个记录
本文详细解析了Java中自定义类的equals方法实现原理。通过一个具体的Person类例子,展示了如何正确地重写equals方法来比较两个对象是否相等。这涉及到对象地址比较、类型检查及属性值对比等内容。
public boolean equals(Object obj){
if(this==obj){//地址相等
return true;
}
if(!(obj instanceof Person)//不是本类的对象
return false;
}
Person p=(Person)obj;//向下转型
if(this.name.equals(p.name)&&this.age==p.age){
return true;
}
else
{return false;
}
}
被折叠的 条评论
为什么被折叠?