Sobes.tech
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, за да запазите контракта между тези методи.