[Reflexivite]exception ArrayIndexOutOfBoundsException methode invoke
Salut!
Je voudrais appele une methode d'une classe grace a la reflexivite. Voici mon bout de code :
Code:
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"); |
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 :
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 8O
Merci d'avance!