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, за да работят правилно в колекции.