Sobes.tech
Junior — Middle

Zašto je u osnovnoj klasi Object u Javi namenjena metoda equals() koja se može prepisati?

sobes.tech АИ

Одговор од АИ

Метода equals() у класи Object намењен је за поређење објеката по једнакости. По подразумеваној вредности, он пореди референце, односно проверава да ли две променљиве указују на исти објекат у меморији.

Преоптерећењем equals(), можете дефинисати логику поређења објеката по садржају, на пример, поређењем поља објеката да бисте их сматрали једнаким ако се ова поља поклапају.

Пример преоптерећења 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;
}

Ово је важно за правилан рад колекција као што су HashSet или HashMap, које користе equals() за одређивање јединствености елемената.