Назад к вопросам
СБЕР
Junior — Middle
64
Можно ли использовать метод equals для сравнения объектов в Java?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Да, в Java метод equals используется для сравнения объектов на смысловое равенство, в отличие от оператора ==, который сравнивает ссылки (адреса в памяти).
По умолчанию метод equals унаследован от класса Object и сравнивает ссылки, но часто его переопределяют, чтобы сравнивать содержимое объектов.
Пример переопределения equals:
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 other = (Person) obj;
return age == other.age && Objects.equals(name, other.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
Важно всегда переопределять hashCode вместе с equals, чтобы объекты корректно работали в коллекциях.
Итого, метод equals — основной способ сравнения объектов по содержимому в Java.