Junior — Middle
Hoe is de methode equals geïmplementeerd in Java en hoe wordt deze gebruikt voor het vergelijken van objecten?
sobes.tech AI
Antwoord van AI
In Java is de methode equals() gedefinieerd in de klasse Object en wordt gebruikt om objecten te vergelijken op logische gelijkheid. Standaard vergelijkt het referenties (d.w.z. controleert of twee variabelen naar hetzelfde object verwijzen).
Voor een correcte vergelijking van de inhoud van objecten, overschrijven klassen meestal de methode equals(), zodat ze de belangrijke velden van de objecten vergelijken.
Voorbeeld van het overschrijven van equals():
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // identiteit controle
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
Het is belangrijk dat bij het overschrijven van equals(), ook hashCode() wordt overschreven, om een correcte werking van objecten in collecties te garanderen, bijvoorbeeld in HashMap.
Gebruik:
MyClass a = new MyClass(...);
MyClass b = new MyClass(...);
if (a.equals(b)) {
// objecten worden als gelijk in inhoud beschouwd
}