Il est possible d'utiliser la réflexion, bien que vous deviez probablement remettre en question votre conception si vous avez besoin de ce genre de comportement. Class.getMethod
prend un String
pour le nom de la méthode et retourne un objet Method
, que vous pouvez ensuite appeler .invoke
à appeler la méthode
Ces pages Javadoc devraient être utiles:
Exemple de code (en supposant que les méthodes yyyyyy
prennent un argument int
, juste pour montrer l'argument pa ssing):
yyyyyy obj = new yyyyyy();
String[] methodNames = {"foo", "bar", "baz"};
for(String methodName : methodNames) {
Method method = Class.forName("yyyyyy").getMethod(methodName, new Class[] {int.class});
method.invoke(obj, 4); // 4 is the argument to pass to the method
}
Pouvez-vous préciser? Ce n'est pas si clair à comprendre. –
Je crois que le terme que vous recherchez est "réflexion". – Stephen
et je suis également sûr de ce qu'il voulait dire est celui-ci: http://stackoverflow.com/questions/160970/how-do-i-invoke-a-java-method-when-given-the-method-name -as-a-string – gumuruh