EHC.HASH
EHC 类应实施 equals(Object) 和 hashCode() 两种方法。如果指定了 equals() 方法但没有 hashCode() 方法,或者反之,将出现 EHC 警告。这可能导致期望等号对象拥有等号哈希代码的某些集合出现问题。
示例 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
}
针对第 8 行的类声明报告 EHC.HASH:类定义了 equals() 但没有定义 hashCode()。