Mi chiedo perché qualcuno vorrebbe usare il confronto delle identità per i campi in equals
, come qui (sintassi Java):
class C {
private A a;
public boolean equals(Object other) {
// standard boring prelude
if (other==this) return true;
if (other==null) return false;
if (other.getClass() != this.getClass()) return false;
C c = (C) other;
// the relevant part
if (c.a != this.a) return false;
// more tests... and then
return true;
}
// getter, setters, hashCode, ...
}
L'utilizzo di ==
è un po 'più veloce di equals
e un po' più breve (a causa della mancanza di test nulli), ma in quali casi (se ce ne sono) diresti che è molto meglio usa ==
per i campi all'interno di equals
?