Junior — Middle
77
Для чего в Java предназначен переопределяемый метод equals() в базовом классе Object?
Компании, где спрашивали
ПСБ
Ответ от нейросети
sobes.tech AI
Метод 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() для определения уникальности элементов.