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
nullist. - Ü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.