随机整数作为 hashCode

Val*_*ous 0 java random hash hashcode

在构造函数中生成一个随机数并从hashCode方法返回这个值是个好主意吗?有可能发生冲突,但这适用于编写自己的hashCode方法。那么有什么缺点呢?在 HashMap 中使用此对象时,它将与随机数一起存储为散列,然后由相同的散列检索。如果有冲突,它们将被解决equals

Fed*_*oca 7

hashCode合同规定,除其他事项外,

如果根据equals(Object)方法两个对象相等,则hashCode对两个对象中的每一个调用该方法必须产生相同的整数结果。

所以不,让它随机是一个坏主意。