This rule is defined by the following Java class: net.sourceforge.pmd.rules.OverrideBothEqualsAndHashcode
Example:
// this is bad public class Bar { public boolean equals(Object o) { // do some comparison } } // and so is this public class Baz { public int hashCode() { // return some hash value } } // this is OK public class Foo { public boolean equals(Object other) { // do some comparison } public int hashCode() { // return some hash value } }