Junior — Middle
Cum implementezi compararea obiectelor pentru egalitate prin metoda equals?
sobes.tech AI
Răspuns de la AI
Pentru o comparare corectă a obiectelor în Java folosind metoda equals, trebuie să suprascrii această metodă în clasa ta, luând în considerare toate câmpurile semnificative care determină egalitatea obiectelor. Recomandări generale:
- Verifică dacă obiectul nu este
null. - Verifică dacă obiectele sunt ale aceleiași clase.
- Compară toate câmpurile care influențează egalitatea.
Exemplu de implementare pentru clasa Person:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // verificare egalitate referință
if (obj == null || getClass() != obj.getClass()) return false; // verificare null și clasă
Person other = (Person) obj;
return Objects.equals(name, other.name) && age == other.age;
}
De asemenea, se recomandă suprascrierea metodei hashCode atunci când se suprascrie equals, pentru funcționare corectă în colecții.