我们有一个子类,不需要任何等号和哈希码比较。它在超级类中处理。
但是FindBugs给出了错误 -EQ_DOESNT_OVERRIDE_EQUALS:此类扩展了一个类,该类定义了equals方法并添加了字段,但未定义equals方法本身。因此,此类实例上的相等性将忽略子类和添加的字段的标识。确保这是预期的目的,并且您不必重写equals方法。即使您不需要重写equals方法,也应考虑将其重写以记录以下事实:子类的equals方法仅返回调用的结果super.equals(o)。
当我们通过调用进行覆盖时super:
@Override
public boolean equals(Object o) {
return super.equals(o);
}
@Override
public int hashCode() {
return super.hashCode();
}
Run Code Online (Sandbox Code Playgroud)
现在PMD给出了错误-UselessOverridingMethod:重写方法仅调用超类中定义的相同方法。
我该如何解决?