Junior — Middle
Wie vergleicht die Methode equals zwei Objekte in Java?
sobes.tech KI
Antwort von AI
Die Methode equals in Java wird verwendet, um zwei Objekte auf semantische Gleichheit zu vergleichen. Standardmäßig, wenn nicht überschrieben, vergleicht sie die Referenzen (d.h., überprüft, ob die Objekte auf dasselbe Exemplar verweisen).
Beim Überschreiben von equals vergleicht man in der Regel den Inhalt der Objekte, z.B. die Werte der Felder.
Eine typische Implementierung von equals umfasst:
- Überprüfung auf Referenzgleichheit (
this == obj) - Überprüfung auf
nullund Klassenkompatibilität - Vergleich der bedeutenden Felder der Objekte
Beispiel:
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
Es ist auch wichtig, hashCode zu überschreiben, wenn equals überschrieben wird, um den Vertrag zwischen diesen Methoden zu wahren.