Sobes.tech
Junior

Wofür werden die Methoden equals() und toString() in Java verwendet?

sobes.tech KI

Antwort von AI

Die Methode equals() vergleicht das aktuelle Objekt mit einem anderen Objekt auf Inhaltsgleichheit, nicht auf Referenzen. Standardmäßig vergleicht sie Referenzen (wie der Operator ==), kann aber überschrieben werden, um die Felder der Objekte zu vergleichen.

Die Methode toString() gibt eine String-Darstellung des Objekts zurück. Standardmäßig enthält sie den Klassennamen und den Hash-Code des Objekts, wird aber oft überschrieben, um eine informativere Darstellung zu bieten, z.B. die Werte der Felder des Objekts.

Beispiel für eine Überschreibung:

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true; // Referenzvergleich
        if (o == null || getClass() != o.getClass()) return false; // Typ- und null-Check
        Person person = (Person) o;
        return age == person.age && // Feldvergleich
               name.equals(person.name); // Verwendung von equals für Strings
    }

    @Override
    public String toString() {
        return "Person{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
    }
}