Sobes.tech
Junior — Middle

Kako implementiraš poređenje objekata po jednakosti putem metode equals?

sobes.tech АИ

Одговор од АИ

Za ispravno poređenje objekata u Javi putem metode equals, potrebno je da prepišete ovu metodu u svojoj klasi, uzimajući u obzir sva značajna polja koja određuju jednakost objekata. Opšte preporuke:

  • Proveriti da objekat nije null.
  • Proveriti da su objekti iste klase.
  • Uporediti sva polja koja utiču na jednakost.

Primer implementacije za klasu Person:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // provera na referentnu jednakost
    if (obj == null || getClass() != obj.getClass()) return false; // provera na null i klasu
    Person other = (Person) obj;
    return Objects.equals(name, other.name) && age == other.age;
}

Takođe se preporučuje da prepišete hashCode prilikom prepisivanja equals za ispravno funkcionisanje u kolekcijama.