mkohram:
Dada una clase de esta manera:
class MyObject {
private String id1;
private String id2;
@Override
public boolean equals(Object o) {
if (o == this) return true;
if (!(o instanceof MyObject)) {
return false;
}
MyObject other = (MyObject) o;
return id1.equals(other.id1) || id2.equals(other.id2);
}
}
Aviso de que la igualdad no depende tanto de los campos de coincidencia, o bien los trabajos de campo. Lo que sería una adecuada hashCode
implementación de esta clase?
Andy Turner:
Esto no es una aplicación válida de equals
.
En concreto, se viola el requisito de transitividad.
Como tal, no se puede poner en práctica hashCode
"correcta" o bien, aparte de hacer todas las instancias tienen el mismo código hash.