有没有办法将 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模板也很好。