Sobes.tech
Junior — Middle

Как реализираш сравняването на обекти по равенство чрез метода equals?

sobes.tech AI

Отговор от AI

За правилно сравняване на обекти в Java чрез метода equals, е необходимо да препишете този метод във вашия клас, като вземете предвид всички важни полета, които определят равенството на обектите. Общи препоръки:

  • Проверете дали обектът не е null.
  • Проверете дали обектите са от същия клас.
  • Сравнете всички полета, които влияят на равенството.

Пример за реализация за класа Person:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // проверка за референциално равенство
    if (obj == null || getClass() != obj.getClass()) return false; // проверка за null и клас
    Person other = (Person) obj;
    return Objects.equals(name, other.name) && age == other.age;
}

Също така се препоръчва да препишете hashCode, когато препишете equals, за да работят правилно в колекции.