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
nullen 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.