mko*_*ram 7 java oop equals hashcode
鉴于这样一个类:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,相等不依赖于两个字段匹配,两个字段都有效.什么是hashCode这个类的合适实现?
And*_*ner 10
这不是有效的实现equals.
具体而言,它违反了及物性要求.
因此hashCode,除了使所有实例具有相同的哈希码之外,您也无法实现"正确".
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |