Java PMD和FindBugs冲突
我们有一个子类,其中不需要任何equals和hashcode比较。它的处理是超一流的 但是FindBugs给出了一个错误-EQ\u doesnu OVERRIDE\u EQUALS:这个类扩展了一个定义EQUALS方法并添加字段的类,但没有定义EQUALS方法本身。因此,此类实例上的相等将忽略子类和添加字段的标识。确保这是您想要的,并且不需要重写equals方法。即使不需要重写Erras方法,也可以考虑重写它,以证明这样的事实:子类的均等方法只返回调用<代码>超级。 当我们刚刚通过调用Java PMD和FindBugs冲突,java,findbugs,pmd,Java,Findbugs,Pmd,我们有一个子类,其中不需要任何equals和hashcode比较。它的处理是超一流的 但是FindBugs给出了一个错误-EQ\u doesnu OVERRIDE\u EQUALS:这个类扩展了一个定义EQUALS方法并添加字段的类,但没有定义EQUALS方法本身。因此,此类实例上的相等将忽略子类和添加字段的标识。确保这是您想要的,并且不需要重写equals方法。即使不需要重写Erras方法,也可以考虑重写它,以证明这样的事实:子类的均等方法只返回调用超级。 当我们刚刚通过调用super进行覆盖
super
进行覆盖时:
@Override
public boolean equals(Object o) {
return super.equals(o);
}
@Override
public int hashCode() {
return super.hashCode();
}
现在PMD给出错误-UselessOverridingMethod:重写方法只调用在超类中定义的相同方法
如何解决此问题?删除该方法,忽略FindBugs-exclude-filter.xml或SuppressWarnings/SuppressFBWarnings中的FindBugs错误。我已经完成了注释,但这是正确的解决方案吗?@xploreraj,是的。由于这是您的意图,因此FindBugs错误在本例中是误报。压制它没关系,酷。那就这样!