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 +
'}';
}
}