来自多个字段的Java hashCode
发布时间:2020-05-24 12:56:14 所属栏目:Java 来源:互联网
导读:鉴于这样的一个类: class MyObject { private String id1; private String id2; @Override public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof MyObject)) { retu
|
鉴于这样的一个类: class MyObject {
private String id1;
private String id2;
@Override
public boolean equals(Object o) {
if (o == this) return true;
if (!(o instanceof MyObject)) {
return false;
}
MyObject other = (MyObject) o;
return id1.equals(other.id1) || id2.equals(other.id2);
}
}
请注意,相等不依赖于两个字段匹配,两个字段都有效.什么是这个类的合适的hashCode实现? 解决方法这不是equals的有效实现.具体而言,它违反了及物性要求. 因此,除了使所有实例具有相同的哈希码之外,您也无法“正确”实现hashCode. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
