Назад к вопросам
Junior — Middle
81
В чем заключается назначение метода equals() в Java?
Ответ от нейросети
sobes.tech AI
Метод equals() в Java используется для сравнения объектов на равенство по содержимому, а не по ссылке. По умолчанию метод equals() в классе Object сравнивает ссылки (т.е. проверяет, указывают ли две переменные на один и тот же объект).
Переопределяя equals(), можно определить, что два объекта считаются равными, если у них совпадают определённые поля. Это важно, например, при работе с коллекциями, где нужно сравнивать объекты по значению.
Пример переопределения equals() в классе Person:
public class Person {
private String name;
private int age;
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Person person = (Person) obj;
return age == person.age && name.equals(person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
Таким образом, equals() позволяет сравнивать объекты по логике, а не по адресу в памяти.