Sobes.tech
Junior — Middle

Hoe vergelijkt de methode equals twee objecten in Java?

sobes.tech AI

Antwoord van AI

De equals-methode in Java wordt gebruikt om twee objecten te vergelijken op semantische gelijkheid. Standaard, als deze niet overschreven is, vergelijkt hij de referenties (d.w.z. controleert of de objecten naar hetzelfde exemplaar verwijzen).

Bij het overschrijven van equals vergelijkt men meestal de inhoud van de objecten, bijvoorbeeld de waarden van de velden.

Een typische implementatie van equals omvat:

  • Controle op referentie-equality (this == obj)
  • Controle op null en klassecompatibiliteit
  • Vergelijking van belangrijke velden van de objecten

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) && field2 == other.field2;
}

Het is ook belangrijk om hashCode te overschrijven wanneer equals wordt overschreven, om het contract tussen deze methoden te behouden.