Salut!
Je voudrais appele une methode d'une classe grace a la reflexivite. Voici mon bout de code :
Je suis sure que le programme passe bien jusqu'avant l'appel de invoke.Je sais que la methode chercher est bien trouvee. Mais quand je fais l'appel a invoke, il me dit :
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 Method[] m_operation = c_operation.getDeclaredMethods(); for(int k =0;k<m_operation.length;k++){ if(m_operation[k].getName().equals("runSimulation")){ //We check the values for calculation //At this moment, we have parameters in the runSimulation method but later, there aren't no one. // So for test, we just put values we know args_method = new Object[4]; args_method[0]=new double[] {amount*(1.0-shift)}; args_method[1]=new double[] {amount*(1.0+shift)}; args_method[2]=new double[] {risk_tolerance}; args_method[3] = new Matrix(new double[][] { {0.0} } ); results.append("<Test/>\n"); //We can call the method runSimulation result = (Result[])m_operation[k].invoke(o_operation,args_method); results.append("<Success/>\n");
ava.lang.ArrayIndexOutOfBoundsException: -1
Et cette excpetion est lance a partir de l'exception InvocationTargetException
Est ce que quelqu'un sait d'ou cela peut venir???
A part que le fait que invoke essaie d'acceder un l'indice -1 de mon tableau d'objet (args_method), je vois pas![]()
Merci d'avance!
Partager