メソッド、フィールド、クラスは、ハッシュ可能なクラスが必要な文脈で、ハッシュ化できないクラスが使用される総称的なシグネチャを宣言しています。 クラスは、equals メソッドを宣言していますが、hashCode メソッドは java.lang.Object から継承しています。 これは「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という hashCode メソッドの汎用規約に従っていないので、ハッシュ化できません。
equals
hashCode
java.lang.Object