Bonjour
voilà, j'expose mon problème qui concerne la méthode invoke
j'ai dans une classe nommée TheFactoriesIndices une méthode :
public static final Indice createIndice(String type,String ...params)
qui utilise donc l'arité variable
------
Mais ceci ne fonctionnent pas quand on utilise ce qui suit :
m=classe.getMethod((((Element)lesIndices.get(i)).getChild("nomMeth")).getText(),lesClasses);
m.invoke(classe,(Object[])args);
sachant que lesIndices.get(i)).getChild("nomMeth") renvoit bien la chaîne de caractères "createIndice"
que ts le tableau Classe lesClasses[] est affecté, notamment, par Class.forName("java.lang.String");
------
J'ai comme message d'erreur :
java.lang.NoSuchMethodException: indices.TheFactoriesIndices.createIndice(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
at java.lang.Class.getMethod(Unknown Source)
-----
Et pourtant j'ai bien un package indices, dans lequel se trouve la classe TheFactoriesIndices avec une méthode createIndice !
Je ne comprends vraiment pas. Alors que ça fonctionne avec d'autres méthodes. Cela provient-il de l'utilisation de l'arité variable.
Existe t-il une solution ?
En espérant avoir donné assez d'éléments,
merci pour vos réponses![]()
Partager