Могут быть некоторые возможные обходные пути:
Исключение некоторых типов невозможно. Из-за способа взаимодействия интерфейсов Java я мог просто свернуть свой собственный Collection
, который имеет те же самые операции, и он не будет исключен.
Просто ради любопытства это справедливо вопрос, я не знаю, каким образом его можно достичь во время компиляции. Вы можете поместить проверку выполнения в конструктор Foo
.
Это невозможно реализовать.
Текущая версия дженериков поддерживает только extends или super. Он не поддерживает какой-либо негативный сценарий.