0

クラスで hashcode と equals をオーバーライドする基本的な概念は理解していますが、hashcode がオーバーライドされていないという理由だけで equals が失敗する例 (コード) を教えてもらえますか? 前もって感謝します。

4

2 に答える 2

0

equals が失敗している場合は、equals を間違って実装したことが原因です。

Java で equals と hashCode をオーバーライドする場合、どのような問題を考慮する必要がありますか?への回答 .

ただし、ハッシュコードがオーバーライドされていない場合に失敗する equals メソッドの例をここに示します。

//NEVER DO THIS
@Override
public boolean equals(Object o){
    ThisObject obj = (ThisObject)o;
    return this.hashCode() == obj.hashCode();
}
于 2013-07-15T20:06:03.507 に答える