我有以下代码,我得到PMD违规SuspiciousEqualsMethodName。
我想知道为什么这被认为是违规行为?
private boolean areEquals(final Object thisObj, final Object thatObj) {
return thisObj == null && thatObj == null || thisObj != null && thisObj.equals(thatObj);
}
@Override
public boolean equals(final Object obj) {
return obj instanceof AttributeKey && areEquals(this.getEndPoint(), ((AttributeKey) obj).getEndPoint())
&& areEquals(this.getCluster(), ((AttributeKey) obj).getCluster());
}
答案 0 :(得分:3)
我怀疑final
上的obj
修饰符正在触发此问题;即PMD规则不正确。
(在不知道您正在使用的PMD版本的情况下,无法知道如何定义规则。如果您可以告诉我版本,我可以检查规则的XML实际上是什么。)