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() за одређивање јединствености елемената.