EHC.HASH

EHC クラスは、equals(Object) とhashCode() の両方のメソッドを実装する必要があります。警告 EHC は、equals() メソッドが指定され、hashCode() メソッドが指定されていない場合およびその逆の場合に表示されます。この状態は、同じオブジェクトが同じハッシュコードを持つ必要があるコレクションで問題を生じることがあります。

例 1

コピー
  public class EHC_HASH_Sample_1 {
      private int seed;
     public EHC_HASH_Sample_1(int seed) {
         this.seed = seed;
     }
     public boolean equals(Object o) {
         return (o instanceof EHC_HASH_Sample_1)
                && ((EHC_HASH_Sample_1) o).seed == seed;
     }
     // no hashCode method defined
 }

EHC.HASH が 8 行目のクラス宣言に対して報告されています。クラスが equals() を定義していますが、hashCode() は定義していません。

関連チェッカー