Salut!
Je voudrais appele une methode d'une classe grace a la reflexivite. Voici mon bout de code :
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");
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

Merci d'avance!