java - para - manual de programacion android pdf
¿Cómo obtener la clase de una entidad definida genérica? (1)
Esta pregunta ya tiene una respuesta aquí:
- Java - Genéricos con listas 5 respuestas
Entonces, ¿cómo puedo hacer lo siguiente en Java?
List<String> strings = new ArrayList<String>();
JAXBElement<List<String>> jax = new JAXBElement<List<String>>(new QName("strings"), List<String>.class, strings);
El problema ocurre específicamente en List.class y el error que se devuelve es:
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
No puedes.
La aproximación más aproximada a lo que desea es usar (Class<List<String>>) List.class
.
Esto se debe a que no hay List<String>.class
, porque en el tiempo de ejecución, List<String>
, List<Banana>
, List<FruitSalad>
y List
son todos iguales en Java. Esto se hace deliberadamente por un montón de razones, y se llama borrado de tipo.