Sobes.tech
Назад к вопросам
Junior — Middle
93

Для чего предназначен метод equals() в базовом классе Object в Java?

Компании, где спрашивали
СБЕРСБЕР
OZONOZON

Ответ от нейросети

sobes.tech AI

Метод equals() в базовом классе Object предназначен для сравнения объектов на равенство. По умолчанию он сравнивает ссылки, то есть возвращает true, если обе переменные указывают на один и тот же объект в памяти.

Часто в своих классах переопределяют equals(), чтобы сравнивать объекты по значению их полей, а не по ссылке. Это важно для корректной работы коллекций, таких как HashSet или HashMap.

Пример переопределения 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 Objects.equals(field1, other.field1) && field2 == other.field2;
}