Sobes.tech
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.