Junior — Middle
Puoi spiegare il concetto del metodo equals e il suo ruolo nel confronto degli oggetti?
sobes.tech AI
Risposta dell'AI
Метод equals в Java используется для сравнения объектов на равенство по содержимому, а не по ссылке. По умолчанию метод equals в классе Object сравнивает ссылки (т.е. проверяет, указывают ли переменные на один и тот же объект).
Реализация собственного equals позволяет определить, что два объекта считаются равными, если их внутренние поля совпадают по значению.
Например, для класса Person можно сравнивать имя и возраст:
@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);
}
Роль equals важна при работе с коллекциями, например, в HashSet или HashMap, где определение равенства объектов влияет на корректность работы структур данных.