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