您的位置:首页 > 编程语言 > Java开发

Java类中的equals方法和hashCode方法

2015-01-18 22:46 239 查看
实现equals方法的标准方式,最佳实践方式

public boolean equals(Person p)
{
if(p == null){
return false;
}
if(p == this){
return true;
}
if(!(p instanceof Person)){
return false;
}
if(p.lastName.equals(this.lastName) && p.firstName.equals(this.firstName)){
return true;
}else{
return false;
}
}

在实现完equals方法后最好也实现hashCode方法,如果两个对象相等,则它们产生的hash码也要相等,hashCode方法中使用的字段要与equals方法中的字段相同。

public int hashCode(){
int result = 17;
result *= firstName.hashCode()*37;
result *= lastName.hashCode()*37;
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: