java - Commons Lang HashCodeBuilder 与 Eclipse hashCode() 生成

标签 java eclipse equals apache-commons hashcode

我看过 Apache Commons Lang 的 HashCodeBuilder 和 Eclipse 的 hashCode() 生成器。不得不说 Eclipse 的 hashCode() 非常丑陋,但是就性能而言,作为 HashCodeBuilder 会更好吗(因为构建器需要额外创建一个对象)?

我还想知道您对 equals() 生成和 Commons Lang 的 EqualsBuilder 的看法。

如果您有更好的解决方案,请也发布它们:)

最佳答案

HashCodeBuilder 比编写您自己的哈希函数要慢得多。它使用反射来遍历每个字段。如果您频繁调用此方法,您可能会看到性能下降,这对于您的情况来说可能是可以容忍的,也可能是不能容忍的。

eclipse 生成的hashCode 函数使用质数来帮助创建更好的散列函数。 Why use a prime number in hashCode?有一些关于为什么会这样的细节

关于java - Commons Lang HashCodeBuilder 与 Eclipse hashCode() 生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036548/

相关文章:

java - 使用 Eclipse TPTP 分析 Google App Engine 项目?

eclipse - 如何使用 Eclipse 在 Java 8 中调试 lambda 表达式?

java.lang.NoClassDefFoundError : javafx/collections/MapChangeListener

java - 一个完全可重写的 compareTo() 方法?

java - 为什么java执行顺序每次都不一样&值比较错误

java - 字符等于空格

java - 基于注解的JMX

java - 如何在 Java 中为 ScrollPane 和 TextPane 提供 TabPane

java - 3d 寻路映射

java - 在 Firebase RecyclerView Cardview 中单击项目时如何打开详细信息 Activity