Junior
Was macht die Methode equals() in Java?
sobes.tech KI
Antwort von AI
Die Methode equals() in Java wird verwendet, um Objekte auf Gleichheit zu vergleichen. Standardmäßig vergleicht die Klasse Object Referenzen auf Objekte (prüft, ob zwei Variablen auf dasselbe Objekt im Speicher zeigen).
Klassen können die Methode equals() überschreiben, um eine Logik zum Vergleich nach Wert zu implementieren. Das bedeutet, dass zwei verschiedene Objekte als gleich gelten, wenn ihre Felder oder ihr Zustand äquivalent sind.
Beim Überschreiben von equals() ist es auch wichtig, die Methode hashCode() zu überschreiben, wobei der Vertrag zu beachten ist: Wenn zwei Objekte nach equals() gleich sind, müssen ihre hashCode()-Werte gleich sein.
Beispiel für eine Überschreibung:
public class Person {
private String name;
private int age;
// Konstruktor und Getter
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}