如何自定义 Eclipse 生成的 hashCode() 和 equals()?
建议(有时是必要的)表示值的类(值类)来重写 [和可选] 方法。这些方法返回的值取决于该类及其超类的所有或子集成员变量。要正确地实现它们,你必须了解一些关于散列的理论,以及一点代数和集合论(不要太多,几乎所有的东西都在这些方法的javadocs和有效的Java形式Josh Bloch中解释过。
在大多数情况下,此方法的实现遵循模板,并且IDE(如Eclipse JDT)包含生成它们的工具。但是,工具生成器不能做出任何假设,并且仅使用语言和标准库中可用的构造来生成这些方法。因此,这些方法通常看起来非常丑陋。hashCode()
equals()
toString()
实现这些方法的另一种方法是使用像Apache(commons-lang)这样的库,和。使用这些实用程序,可以实现自己的实用程序和看起来更好的方法。HashCodeBuilder
EqualsBuilder
ToStringBuilder
hashCode()
equals()
我的问题是关于将这两种方法结合起来。我希望能够自定义Eclipse和生成器,以便使用和朋友生成它们。是否有可能(以及如何)在不调整JDT的情况下执行此操作?只编写将覆盖默认实现的小插件(但不更改JDT代码)。hashCode()
equals()
HashCodeBuilder
谢谢。