Patrón básico
El método equals
define una relación de equivalencia sobre objetos diferentes de null:
§ reflexiva
x.equals(x) == true
§ simétrica
x.equals(y) <=> y.equals(x)
§ transitiva
x.equals(y) and y.equals(z) => x.equals(z)
§ y
x.equals(null) == false
Por ello es muy
típico esta forma de empezar cualquier método equals() que escribamos:
class C {
@Override
public boolean equals(Object x) {
if (x == this)
return true;
if (x == null)
return false;
if (x instanceof C == false)
return false;
… y se sigue con lo
que es específico de la igualdad de objetos de clase C.
Temas relacionados
63. equals (método) public boolean equals(Object)