hashCode и равно для Collections.unmodifiableCollection ()
Collections
В классе есть несколько статических вспомогательных методов, обеспечивающих доступные только для чтения представления различных типов коллекций, таких какunmodifiableSet()
, unmodifiableList()
и т. д. Для этих объектов просмотраhashCode()
а такжеequals()
методы перенаправляют вызовы в базовую коллекцию ... с одним странным исключением:unmodifiableCollection()
.
JavaDocпрямо заявляет:
Возвращенная коллекция делаетне передать hashCode и equals операции в резервную коллекцию, но полагается наObject
«sequals
а такжеhashCode
методы. Это необходимо для сохранения контрактов этих операций в случае, если резервная коллекция представляет собой набор или список.
Мой вопрос: о чем это говорит ?? Если резервная коллекция представляет собой набор или список, я ожидаю, что поведение будет соответствоватьunmodifiableSet()
а такжеunmodifiableList()
, Как это нарушит контракты hashCode / equals?