hashCode i jest równy dla Collections.unmodifiableCollection ()

TheCollections klasa ma wiele statycznych metod pomocniczych do wyświetlania widoków tylko do odczytu różnych typów kolekcji, takich jakunmodifiableSet(), unmodifiableList(), itp. Dla tych obiektów widoku,hashCode() iequals() metody przekazują połączenia do podstawowej kolekcji ... Z jednym dziwnym wyjątkiem:unmodifiableCollection().

JavaDocwyraźnie stwierdza:

Zwrócona kolekcja manie przekazać operacje hashCode i równe operacje do kolekcji kopii zapasowej, ale zależy odObjectjestequals ihashCode metody. Jest to konieczne, aby zachować umowy dotyczące tych operacji w przypadku, gdy zbiór kopii zapasowych jest zbiorem lub listą.

Moje pytanie: wtf mówi o tym ?? Jeśli kolekcja kopii zapasowych jest zbiorem lub listą, oczekiwałbym zachowania zgodnego zunmodifiableSet() iunmodifiableList(). W jaki sposób naruszyłoby to kontrakty hashCode / equals?

questionAnswers(1)

yourAnswerToTheQuestion