EHC.EQ

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

例 1

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

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

関連チェッカー