Junior
Wat doet de methode equals() in Java?
sobes.tech AI
Antwoord van AI
De equals()-methode in Java wordt gebruikt om objecten op gelijkheid te vergelijken. Standaard vergelijkt deze in de Object-klasse de referenties naar objecten (controleert of twee variabelen naar hetzelfde object in het geheugen wijzen).
Klassen kunnen de equals()-methode overschrijven om logica voor vergelijking op basis van waarde te implementeren. Dit betekent dat twee verschillende objecten als gelijk worden beschouwd als hun velden of toestand gelijkwaardig zijn.
Bij het overschrijven van equals() is het ook belangrijk om de hashCode()-methode te overschrijven, volgens het contract: als twee objecten gelijk zijn volgens equals(), moeten hun hashCode()-waarden hetzelfde zijn.
Voorbeeld van overschrijving:
public class Person {
private String name;
private int age;
// constructor en getters
@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);
}
}