8
votes

Obtenez la classe de Java.Util.List

Comment obtenir la classe de cette expression Java.Util.List


1 commentaires

J'ai peur que vous ne puissiez pas, comme des types génériques ne s'appliquent qu'à l'heure de la compilation.


3 Réponses :


6
votes

si votre liste code> est définie avec un type de type concret, comme par exemple: xxx pré>

alors vous pouvez l'obtenir par réflexion: p>

Type type = ((ParameterizedType) Test.class.getDeclaredField("list")
     .getGenericType()).getActualTypeArguments()[0];


0 commentaires

6
votes

Je suppose que vous voulez connaître la classe de modèle de la liste au moment de l'exécution et la réponse courte est la suivante: vous ne pouvez pas. Les génériques Java ne sont utilisés qu'à l'heure de la compilation: les arguments de modèle sont effacés avant la production d'un code d'octet. C'est ce qu'on appelle " Effacement de type ".


0 commentaires

0
votes

Vous pouvez essayer quelque chose comme ceci: xxx


0 commentaires