Как получить .class определенной сущности Generics? [Дубликат]

This question already has an answer here:

Java - Generics with lists 5 answers

Итак, как я могу сделать следующее в Java?

List<String> strings = new ArrayList<String>();       
JAXBElement<List<String>> jax = new JAXBElement<List<String>>(new QName("strings"), List<String>.class, strings);

Проблема, в частности, возникает в List.class, и возвращается ошибка:

Multiple markers at this line
- List cannot be resolved to a variable
- String cannot be resolved to a variable
- Syntax error on token ">", void expected after this token

Ответы на вопрос(1)

Решение Вопроса

Самое близкое приближение к тому, что вы хотите, это использовать(Class<List<String>>) List.class.

Это потому что нетList<String>.classпотому что во время выполнения,List<String>, List<Banana>, List<FruitSalad>, а такжеList все то же самое в Java. Это сделано специально для всей группы пользователей. причины, и это называется стиранием типа.

 09 июл. 2012 г., 21:14
& quot; Это сделано специально для эффективности & quot; Источник? Я уверен, что основной причиной удаления была обратная совместимость.
 09 июл. 2012 г., 21:21
Вот отличный пост от Олы Бини в блоге о том, какие проблемы вызовут дженерики в JVM:olabini.com/blog/2010/07/questioning-the-reality-of-generics
 Salsero6909 июл. 2012 г., 21:19
Понял так же. Благодарю.

Ваш ответ на вопрос