<T> List<? extends T> f()
<T> List<? extends T> f()
полезную сигнатуру? Есть ли проблемы с этим/используя его?
Это был вопрос для интервью. Я знаю это:
- Хорошо компилируется
- Используйте это как
List<? extends Number> lst = obj.<Number>f()
List<? extends Number> lst = obj.<Number>f()
, и тогда я могу вызвать lst только те методы List, которые не содержат T в своих сигнатурах (скажем, isEmpty(), size(), но не add (T), удалить (T)
Это полностью отвечает на вопрос?