Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Метод equals()
в Java предназначен для сравнения объектов на эквивалентность содержимого, а не на равенство ссылок (как оператор ==
).
Переопределять его необходимо в следующих случаях:
HashSet
, HashMap
, Hashtable
), так как эти коллекции полагаются на правильное определение equals()
(и hashCode()
) для корректной работы.TreeSet
, TreeMap
), если требуется определение порядка на основе эквивалентности.Функция метода equals()
:
Определить, эквивалентны ли два объекта. По умолчанию, метод equals()
в классе Object
сравнивает ссылки (==
), то есть проверяет, является ли второй объект тем же самым объектом, что и текущий. При переопределении, реализация должна следовать контракту:
x
, x.equals(x)
должно возвращать true
.x
и y
, x.equals(y)
должно возвращать true
тогда и только тогда, когда y.equals(x)
возвращает true
.x
, y
и z
, если x.equals(y)
возвращает true
и y.equals(z)
возвращает `trueМетод equals()
в Java предназначен для сравнения объектов на эквивалентность содержимого, а не на равенство ссылок (как оператор ==
).
Переопределять его необходимо в следующих случаях:
HashSet
, HashMap
, Hashtable
), так как эти коллекции полагаются на правильное определение equals()
(и hashCode()
) для корректной работы.TreeSet
, TreeMap
), если требуется определение порядка на основе эквивалентности.Функция метода equals()
:
Определить, эквивалентны ли два объекта. По умолчанию, метод equals()
в классе Object
сравнивает ссылки (==
), то есть проверяет, является ли второй объект тем же самым объектом, что и текущий. При переопределении, реализация должна следовать контракту:
x
, x.equals(x)
должно возвращать true
.x
и y
, x.equals(y)
должно возвращать true
тогда и только тогда, когда y.equals(x)
возвращает true
.x
, y
и z
, если x.equals(y)
возвращает true
и y.equals(z)
возвращает `trueЗарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.