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.