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