studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones java jaxb nested-generics

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í:

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.