Junior — Middle
Cum compară metoda equals două obiecte în Java?
sobes.tech AI
Răspuns de la AI
Metoda equals în Java este utilizată pentru compararea a două obiecte în ceea ce privește egalitatea semantică. În mod implicit, dacă nu este suprascrisă, compară referințele (adică verifică dacă obiectele indică către aceeași instanță).
Când suprascrieți equals, de obicei comparați conținutul obiectelor, de exemplu, valorile câmpurilor.
O implementare tipică a equals include:
- Verificarea egalității referințelor (
this == obj) - Verificarea pentru
nullși compatibilitatea claselor - Compararea câmpurilor semnificative ale obiectelor
Exemplu:
@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;
}
Este, de asemenea, important să suprascrieți hashCode atunci când suprascrieți equals, pentru a menține contractul dintre aceste metode.