【问题标题】:How to change prime for eclipse hashcode generator如何更改 Eclipse 哈希码生成器的素数
【发布时间】:2012-12-21 16:32:47
【问题描述】:

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

【问题讨论】:

  • 我怀疑你能做到。但几乎可以肯定,无论如何你使用哪个素数都无关紧要。
  • 链接指出你想要一个素数,它不是 HashMap 的 2 次方的因数(除 2 之外的所有数)
  • 另外,该链接中的哪个位置说您应该使用 31 以外的素数?
  • 抱歉,链接错误。必须是stackoverflow.com/questions/1835976/…

标签: java eclipse hashcode


【解决方案1】:

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

换行:

final int prime = 31;

final int prime = 61;

或任何你喜欢的素数。但是,我认为您最好还是坚持使用 31,因为任何 hashCode 的使用都可能已经过测试。

【讨论】:

  • 我们有大量的开发人员,如果在 Eclipse 首选项(他们都强制加载)中更改哈希码,那就太好了。重新考虑更改哈希码生成的代码本身会更好,因此它可以使用通用代码(例如,定义素数的全局常量)。
猜你喜欢
  • 2013-04-11
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多