Junior — Middle
Как сравнява методът equals двата обекта в Java?
sobes.tech AI
Отговор от AI
Методът equals в Java се използва за сравняване на два обекта по смислово равенство. По подразбиране, ако не е презаписан, сравнява референциите (т.е. проверява дали обектите сочат към един и същи екземпляр).
При презаписване на equals, обикновено сравняваме съдържанието на обектите, например стойностите на полетата.
Типична реализация на equals включва:
- Проверка за равенство на референци (
this == obj) - Проверка за
nullи съвместимост на класовете - Сравнение на важните полета на обектите
Пример:
@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;
}
Важно е също така да презапишете hashCode, когато презаписвате equals, за да запазите контракта между тези методи.