Junior — Middle
Wie ist die Methode equals in Java implementiert und wie wird sie zum Vergleichen von Objekten verwendet?
sobes.tech KI
Antwort von AI
In Java ist die Methode equals() in der Klasse Object definiert und dient zum Vergleich von Objekten auf logische Gleichheit. Standardmäßig vergleicht sie Referenzen (d.h., überprüft, ob zwei Variablen auf dasselbe Objekt zeigen).
Für einen korrekten Vergleich des Inhalts von Objekten überschreiben Klassen in der Regel die Methode equals(), um die bedeutenden Felder der Objekte zu vergleichen.
Beispiel für die Überschreibung von equals():
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // Identitätsprüfung
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
Es ist wichtig, dass beim Überschreiben von equals() auch hashCode() überschrieben wird, um die korrekte Funktion der Objekte in Sammlungen wie HashMap zu gewährleisten.
Verwendung:
MyClass a = new MyClass(...);
MyClass b = new MyClass(...);
if (a.equals(b)) {
// Objekte gelten als inhaltlich gleich
}