Как переопределить метод equals java
Ответы
Ilnaz Kamalov
09 ноября 2022
В Java переопределение - это когда дочерний класс или подкласс имеет специфическую реализацию метода, уже объявленого в родительском классе.
Метод equals()
сравнивает две строки. Если данные одного объекта совпадают с данными другого, он возвращает значение true, в противном случае - false. Аннотация @Override сообщает компилятору о переопределении во время компиляции.
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (!(o instanceof Example)) {
return false;
}
Example example = (Example) o;
return Integer.compare(a, example.a) == 0 && Integer.compare(b, example.b) == 0;
}
В этом примере мы выполнили переопределение метода equals()
. Сравниваем два объекта, если они равны тогда метод вернет true иначе false.
Есть несколько правил переопределения метода equals().
- Использовать оператор == чтобы проверить ссылку на объект, переданную в метод equals().
- Используйте оператор instanceof для проверки типа аргумента. Если типы не совпадают вернуть false.
- Пройтись по всем значимым полям объектов и сравнить их друг с другом.
- Преобразовать аргумент к корректному типу. Т.к. есть метод проверки типа.
- Метод
equals()
сравнивает поля объектов не более, не усложняйте.
0
0