Sobes.tech
Junior — Middle

Waarom is het belangrijk om de methode equals() in je eigen klasse te overschrijven?

sobes.tech AI

Antwoord van AI

Het overschrijven van de equals()-methode is belangrijk voor het correct vergelijken van objecten op inhoud, niet op referentie. Standaard vergelijkt de equals()-methode in Java referenties (d.w.z. controleert of de variabelen naar hetzelfde object wijzen).

Als je twee objecten gelijk wilt beschouwen wanneer bepaalde velden overeenkomen (bijvoorbeeld identificatie, naam, enz.), moet je equals() overschrijven.

Voorbeeld:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null || getClass() != obj.getClass()) return false;
    MyClass other = (MyClass) obj;
    return Objects.equals(field1, other.field1) &&
           Objects.equals(field2, other.field2);
}

Zonder equals() overschrijving kunnen collecties zoals HashSet of zoekmethoden incorrect werken.