Junior
Waarvoor worden de methoden equals() en toString() in Java gebruikt?
sobes.tech AI
Antwoord van AI
De methode equals() vergelijkt het huidige object met een ander object op inhoudsgelijkheid, niet op referenties. Standaard vergelijkt het referenties (zoals de operator ==), maar het kan worden overschreven om de velden van de objecten te vergelijken.
De methode toString() geeft een stringrepresentatie van het object terug. Standaard bevat het de naam van de klasse en de hash-code van het object, maar het wordt vaak overschreven om een meer informatieve weergave te bieden, bijvoorbeeld de waarden van de velden van het object.
Voorbeeld van overschrijving:
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; // Referentie vergelijking
if (o == null || getClass() != o.getClass()) return false; // Type en null check
Person person = (Person) o;
return age == person.age && // Veld vergelijking
name.equals(person.name); // Gebruik van equals voor strings
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}