Collections.unmodifiableList(...)
возвращает новый экземпляр статического внутреннего класса UnmodifiableList
. Другие немодифицируемые классы коллекций построены таким же образом.
Были эти классы общедоступными, у одного было два преимущества:
- способность указывать более конкретное возвращаемое значение (например,
UnmodifiableList
), поэтому пользователь API не захочет модифицировать эту коллекцию; - возможность проверки во время выполнения, если
List
-instanceof UnmodifiableList
.
Итак, были ли преимущества не, чтобы эти классы были общедоступны?
EDIT: не было представлено никаких убедительных аргументов, поэтому я выбираю наиболее подходящий ответ.