Sobes.tech
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.