Non-final field referenced in 'equals()'
Reports implementations of equals()
that access non-final
variables. Such access may result in equals()
returning different results at different points in the object's lifecycle, which may in turn cause problems when using the standard collections classes.
Example:
public class Person {
private String lastName;
@Override
public boolean equals(Object obj) {
...
Person other = (Person) obj;
if (lastName == null) {
if (!lastName.equals(other.lastName)) {
return false;
...
}
}
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023