使用Apache HashCodeBuilder而不是Objects.hash有什么原因吗?

7
我正在覆盖对象的hashCode和equals方法。 我使用Apache Commons库中的EqualsBuilder来覆盖equals。由于我使用的是Java 7,所以我计划使用内置的Objects类中的hash方法而不是Apache Commons HashCodeBuilder。 这种方法有什么问题吗?有没有理由更喜欢其中之一?
2个回答

4

其中一个区别是HashCodeBuilder可以通过反射计算哈希码:

public int hashCode() {
  return HashCodeBuilder.reflectionHashCode(this);
}

也就是说,使用HashCodeBuilder,你不必列出每个字段,尽管你可以这样做。

4

HashCodeBuilder 有一种独特的反射哈希码实现,但除此之外,没有其他的 -- 你应该使用 Objects


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接