Sobes.tech
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 null und 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.