Sobes.tech
Junior — Middle

Kako metoda equals vrši poređenje dva objekta u Javi?

sobes.tech АИ

Одговор од АИ

Metoda equals u Javi se koristi za poređenje dva objekta na smisleno jednakost. Po default-u, ako nije prepisana, ona poredi reference (tj. proverava da li objekti ukazuju na isti primerak).

Prilikom prepisivanja equals, obično poređujemo sadržaj objekata, na primer, vrednosti polja.

Tipična implementacija equals uključuje:

  • Proveru na jednakost referenci (this == obj)
  • Proveru na null i kompatibilnost klasa
  • Poređenje značajnih polja objekata

Primer:

@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;
}

Takođe je važno prepisati hashCode kada prepisujete equals, kako biste sačuvali ugovor između ovih metoda.