#java #generics #reflection
#java #обобщения #отражение
Вопрос:
Как создать java.lang.reflect.Type
тип List<T>
«на лету», если я знаю, что T
имеет определенный тип, такой как String.class
или Integer.class
?
Комментарии:
1. Для чего вам это нужно?
2. Хм, возможно, я неправильно понял ваш вопрос. Вы хотели
List
,Type
List
экземпляра или действительно создать (new
)Type
экземпляр?
Ответ №1:
Параметризованные типы Java подвержены стиранию типов, так что универсальные типы теряются во время выполнения. Это означает, что во время выполнения a List<String>
неотличим от a List<Integer>
или a List<Object>
без проверки элементов в списке.
Все это говорит о том, что вам вообще не нужно беспокоиться о параметризованном типе. Вы можете просто создать List
.
Комментарии:
1. На самом деле это не дает ответа на вопрос.