Sobes.tech
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);
    }
}