Bonjour, voila j' ai un problème que je ne comprend sur le principe de l'introspection.
Je parcours une map d'objet, voici une partie de la déclaration de la class des objet contenu dans la map :
et voici mon code qui utilise l'introspection afin d'avoir la valeur de l'attribut node :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class TreeNode implements StructuralListener { /** Used to create a unique reference number for each node. */ private static int lastRefId = 0; /** Reference Id */ private final String refId; /** The originating object */ private final Object node; /** And keep track of children. */ private final List/*<String>*/ children = new ArrayList();
J'ai une exception NoSuchFieldException pour l'objet node pourtant il existe bien dans la classe et j'ai une méthode d'accés a cet objet public Object getNode().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 while(itor.hasNext()) { Object k = itor.next(); Class classe = jobs.get(k).getClass(); Object obj = jobs.get(k); Field champ = null; try { champ = classe.getField("node"); } catch(NoSuchFieldException ex) { ex.printStackTrace(); } catch(SecurityException ex) { ex.printStackTrace(); } Object val = champ.get(obj); MenuComponent childComponent = new MenuComponent(); childComponent.setTitle(val.toString()); rootTree.addMenuComponent(childComponent); }
Pourquoi l'exception est elle lancée?
Merci a tous.
Partager