
resources.report.rules.pmd.OverrideBothEqualsAndHashcode.html Maven / Gradle / Ivy
OverrideBothEqualsAndHashcode
OverrideBothEqualsAndHashcode
Override both public boolean Object.equals(Object other), and public int Object.hashCode(), or override neither. Even if you are inheriting a hashCode() from a parent class, consider implementing hashCode and explicitly delegating to your superclass.
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
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy