如何从班级的两个字段生成hashCode? p>
例如,我希望具有相同对象V的Pair
类具有相同的hashCode:
public class Pair<V> {
V from, to;
}
我应该将他们的hashCodes加在一起吗?加他们?将它们与素数相乘?
答案 0 :(得分:7)
一种方法是将第一个字段的哈希码添加到第二个字段的哈希码中,乘以一个小素数,如下所示:
public int hashCode() {
return 31 * from.hashCode() + to.hashCode();
}