BJ *_*ruz 8 java equals hashcode
如果我实现equals()和hashCode()两个父类和子类,是有必要呼吁super.equals()在equals()在子类中,如
public boolean equals(Object obj) {
if (obj.getClass() != ChildClass.class) {
return false;
}
return super.equals() && this.var == ((ChildClass) obj).var;
}
Run Code Online (Sandbox Code Playgroud)
我假设父类不是Object,并且给出了equals和hashCode的正确定义.
不,这不是必要的,也可能是错的.实际上,你压倒一切的部分原因equal是因为super.equals没有给出正确的行为(对吧?).
换句话说,如果super.equals给出正确的行为,你可能不需要去覆盖它的麻烦.
但如果你压倒一切equals,那么是的,你也需要覆盖hashCode.
| 归档时间: |
|
| 查看次数: |
7826 次 |
| 最近记录: |