Bonsoir,
je planche depuis un petit moment sur un pb d'invoke de methode (java.lang.reflect.Method) dont je n'arrive pas a trouver de solution.
Je dipose d'une methode :
que je voudrais appeler par le mecanisme de reflection java. Mon probleme c'est que je ne sais pas comment faire pour lui specifier que mon deuxieme argument est tableau d'objet (MonObjet[].class). Quand j'execute mon prog la jvm (j2sdk1.4.2_11) me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public void Set_Param(String str, MonObjet[] TableauObjet)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 java.lang.IllegalArgumentException: object is not an instance of declaring class at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324)
J'ai essayé plusieurs solutions mais rien ne veut marcher ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 try { Method m = classe.getMethod(NomDeLaMethode,new Class[] {String.class,MonObjet[].class}); m.invoke(classe, new Object[] {group_name,TableauObjet}); } catch (Exception e) { System.out.println("01 Erreur lors de l'invoke"); e.printStackTrace(); }
si quelqu'un à une idée je suis preneur
merci
Sébastien
Partager