Sobes.tech
Junior — Middle

Hogyan valósítod meg az objektumok egyenlőség szerinti összehasonlítását az equals metódussal?

sobes.tech MI

Válasz az MI-től

A Java-ban az objektumok helyes összehasonlításához a equals metódust felül kell írni a saját osztályodban, figyelembe véve minden jelentős mezőt, amely meghatározza az objektumok egyenlőségét. Általános ajánlások:

  • Ellenőrizd, hogy az objektum ne legyen null.
  • Ellenőrizd, hogy az objektumok ugyanabba az osztályba tartoznak.
  • Hasonlítsd össze az összes olyan mezőt, amely befolyásolja az egyenlőséget.

Példa a Person osztályhoz:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // referenciaegyezőség ellenőrzése
    if (obj == null || getClass() != obj.getClass()) return false; // null és osztály ellenőrzése
    Person other = (Person) obj;
    return Objects.equals(name, other.name) && age == other.age;
}

Javasolt a hashCode metódus felülírása az equals felülírásakor, hogy helyesen működjön a kollekciókban.