2013-01-07 28 views
-1

I read使用另一个素数然后31生成哈希码更好。 如何将hashCode发生器的Eclipse中的值更改为另一个值,然后是31?如何更改日食哈希码生成器的素数

+0

我怀疑你可以。但无论如何,它几乎肯定无关紧要。 –

+1

链接指出你想要一个素数,它不是HashMap的二次幂的因子(除2之外都是这样) –

+0

也是这样,在那个链接里它说你应该使用31以外的素数? – Colleen

回答

0

这可能太明显了,但除非您生成覆盖equals和hashCode的大量类,否则您可以手动编辑Eclipse代码来替换自己的素数。

更改行:

final int prime = 31; 

final int prime = 61; 

或任何首要你喜欢。不过,我认为你最好坚持31,因为任何使用hashCode的可能都已经过测试。

+0

我们有大量的开发人员,这将是很好,如果在日食偏好(它们都是强制加载的)哈希码被改变。重新考虑它会更好地改变生成哈希码的代码本身,因此它可以使用通用代码(例如定义素数的全局常量)。 – user942553