Рассмотрим следующий метод Java:
<T extends List<T>> List<T> getMyList() {
return Collections.emptyList();
}
Я могу присвоить ее вывод переменной с необработанным типом, например так:
List x = getMyList();
List<List> y = getMyList();
Но я не могу придумать, как назначить его вывод полностью параметризованному типу. В частности, я не могу вспомнить несобственный, конкретный тип T
, который бы удовлетворял List<T> z = getMyList();
Можем ли мы создать такой T
?
Если нет, то почему?
Для контекста я создал этот вопрос, пытаясь понять, как Enums реализованы в Java.