Sobes.tech
Junior — Middle

Wie implementierst du den Vergleich von Objekten auf Gleichheit mittels der Methode equals?

sobes.tech KI

Antwort von AI

Um eine korrekte Vergleich von Objekten in Java mittels der Methode equals zu gewährleisten, muss diese Methode in deiner Klasse überschrieben werden, wobei alle bedeutenden Felder berücksichtigt werden, die die Gleichheit der Objekte bestimmen. Allgemeine Empfehlungen:

  • Überprüfen, ob das Objekt nicht null ist.
  • Überprüfen, ob die Objekte derselben Klasse sind.
  • Alle Felder vergleichen, die die Gleichheit beeinflussen.

Beispiel für die Implementierung für die Klasse Person:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // Referenzgleichheit prüfen
    if (obj == null || getClass() != obj.getClass()) return false; // null- und klassenprüfung
    Person other = (Person) obj;
    return Objects.equals(name, other.name) && age == other.age;
}

Es wird auch empfohlen, hashCode zu überschreiben, wenn equals überschrieben wird, um eine korrekte Funktion in Sammlungen zu gewährleisten.