Bonjour
Je fais un algo avec de la réflexivité. Lorsqu'un field d'une classe est une collection, j'ai besoin de savoir qu'elle est la classe des éléments de la collection. Par exemple si j'ai un Set<String> j'aimerais obtenir la classe java.lang.String.
Voici mon code :
J'ai lu les API sur Type, ParametrizedType, etc... Mais j'avoue que je ne comprends pas bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Class clazz = Toto.class; Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { Class fieldClass = field.getType(); if (Collection.class.isAssignableFrom(fieldClass)) { ParameterizedType type = (ParameterizedType) field.getGenericType(); // TODO : Qu'est-ce-que je dois faire ici pour avoir la classe des éléments de la collection ? } ...
Merci d'avance pour votre aide
Partager