Sobes.tech
Junior — Middle

Na čo slúži prepísaná metóda equals() v základnej triede Object v Jave?

sobes.tech AI

Odpoveď od AI

Metóda equals() v triede Object je určená na porovnávanie objektov na rovnosť. Predvolene porovnáva odkazy, teda kontroluje, či dve premenné ukazujú na ten istý objekt v pamäti.

Prepisovaním equals() môžete definovať logiku porovnávania objektov podľa obsahu, napríklad porovnaním polí objektov, aby boli považované za rovnaké, ak sa tieto polia zhodujú.

Príklad prepisovania equals():

@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;
}

Toto je dôležité pre správne fungovanie kolekcií ako sú HashSet alebo HashMap, ktoré používajú equals() na určenie jedinečnosti prvkov.