Junior — Middle
Kaip įgyvendini objektų lygumo palyginimą naudojant metodą equals?
sobes.tech AI
Atsakymas iš AI
Norint teisingai palyginti objektus Java naudojant equals metodą, šį metodą reikia perrašyti savo klasėje, atsižvelgiant į visus svarbius laukus, kurie nustato objektų lygybę. Bendros rekomendacijos:
- Patikrinkite, ar objektas nėra
null. - Patikrinkite, ar objektai yra tos pačios klasės.
- Palyginkite visus laukus, kurie veikia lygybę.
Pavyzdys Person klasės įgyvendinimui:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // nuorodų lygybės patikrinimas
if (obj == null || getClass() != obj.getClass()) return false; // null ir klasės patikrinimas
Person other = (Person) obj;
return Objects.equals(name, other.name) && age == other.age;
}
Taip pat rekomenduojama perrašyti hashCode metodą, kai perrašote equals, kad kolekcijose veiktų teisingai.