Bonsoir,
je planche depuis un petit momentsur 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public void Set_Param(String str, MonObjet[] TableauObjet)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
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