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