我有以下两个类,并希望Foo1
用作HashMap
. 如果两个Foo1
对象相等Foo2
,则两个对象相等,Foo2
如果它们的字节数组满足,则对象相等Arrays.equals()
。
我不太确定要hashCode()
为Foo1
. 我只需要总结每个Foo2
对象的哈希码还是效率低下?
public class Foo1 {
Foo2[] foo2_array;
@Override
public boolean equals(Object Other) {
for (int i = 0; i < foo2_array.length; i++) {
if (!foo2_array[i].equals(other.foo2_array[i])
return false;
}
return true;
}
@Override
public int hashCode() {
// what to here?
}
}
public class Foo2 {
byte[] values;
@Override
public boolean equals(Object other) {
return Arrays.equals(values, other.values);
}
@Override
public int hashCode() {
return Arrays.hashCode(values);
}
}