有没有办法将 Eclipse 配置为自动生成hashCode
并equals
意识到@NonNull
注释?目前,我的 Eclipse 生成带有不必要null
检查的代码,即使在标记为@NonNull
.
请注意,FindBugs 会发出警告,指出这些空检查是多余的。当然我们可以添加
@edu.umd.cs.findbugs.annotations.SuppressWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")
到方法中,但这似乎首先破坏了 FindBugs 的作用@NonNull
。
在我看来,最好的解决方案是让 Eclipse 了解 JSR 305 并生成equals
并hashCode
相应地生成而不null
进行检查(如果它们仍然存在null
,那么就让它NullPointerException
自然抛出,因为发生了合同违规)。
除此之外,有一种方法来自定义Eclipse 生成equals
的hashCode
模板也很好。