Junior — Middle
Mit szolgál a Java-ban az Object osztályban az újraírt equals() metódus?
sobes.tech MI
Válasz az MI-től
Az Object osztályban található equals() metódus arra szolgál, hogy az objektumokat egyenlőség szerint összehasonlítsa. Alapértelmezés szerint referenciákat hasonlít össze, vagyis ellenőrzi, hogy két változó ugyanarra az objektumra mutat-e a memóriában.
Az equals() felülírásával meghatározhatja az objektumok tartalom szerinti összehasonlításának logikáját, például összehasonlítva az objektum mezőit, hogy azok megegyeznek-e.
Az equals() felülírásának példája:
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return field1.equals(other.field1) && field2 == other.field2;
}
Ez fontos a HashSet vagy HashMap típusú kollekciók helyes működéséhez, amelyek az equals() metódust használják az elemek egyediséégének meghatározására.