Wat doet de methode equals()?
sobes.tech AI
Antwoord van AI
De equals()-methode in Java vergelijkt twee objecten op gelijkheid.
Standaard (in de klasse Object) controleert het of de referenties naar de objecten hetzelfde zijn (of ze naar hetzelfde exemplaar in het geheugen verwijzen).
Klassen kunnen deze methode overschrijven om de logische gelijkheid van objecten op basis van hun inhoud te bepalen (bijvoorbeeld, twee String-objecten worden als gelijk beschouwd als ze dezelfde tekenreeks bevatten, zelfs als het verschillende instanties zijn).
Bij het overschrijven van equals() is het ook nodig om de methode hashCode() te overschrijven, om de volgende overeenkomst te behouden: als twee objecten gelijk zijn volgens equals(), dan moeten hun hashCode()-methoden dezelfde waarden retourneren.
Voorbeeld van overschrijving:
class MyClass {
private int value;
public MyClass(int value) {
this.value = value;
}
@Override
public boolean equals(Object o) {
if (this == o) return true; // Referentie vergelijking
if (o == null || getClass() != o.getClass()) return false; // Null en type controle
MyClass myClass = (MyClass) o; // Cast
return value == myClass.value; // Logische vergelijking op basis van waarde
}
@Override
public int hashCode() {
return Objects.hash(value); // Hash code genereren
}
}