Back to questions
Junior — Middle
115
Каким образом реализовать метод сравнения объектов на равенство в вашем коде?
Answer from AI
sobes.tech AI
В Java для сравнения объектов на равенство обычно переопределяют метод equals(Object obj). Важно соблюдать контракт метода: рефлексивность, симметричность, транзитивность, согласованность и проверку на null.
Пример реализации:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // проверка на ссылочное равенство
if (obj == null || getClass() != obj.getClass()) return false; // проверка на null и класс
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
Также рекомендуется переопределять hashCode(), чтобы объекты, равные по equals(), имели одинаковый хэш-код, что важно для корректной работы в коллекциях, например, в HashMap или HashSet.