Question

  

Possible en double:    appel d'une méthode appelée « chaîne » lors de l'exécution dans Java et C

Je dois être en mesure d'appeler une fonction, mais le nom de la fonction est stockée dans une variable, est-ce possible. par exemple:

public void foo ()
{
     //code here
}

public void bar ()
{
     //code here
}

String functionName = "foo";

// i besoin d'appeler la fonction en fonction de ce qui est functionName

Anyhelp serait génial, merci

Était-ce utile?

La solution

Oui, vous pouvez, en utilisant la réflexion. Cependant, pensez aussi Effective Java 2e édition, article 53: Préférez les interfaces à la réflexion . Si possible, utilisez des interfaces à la place. La réflexion est rarement vraiment nécessaire dans le code d'application générale.

Voir aussi

Questions connexes

Autres conseils

fait facilement avec la réflexion. Quelques exemples et ici .

Les principaux bits étant le code

String aMethod = "myMethod";

Object iClass = thisClass.newInstance();
// get the method
Method thisMethod = thisClass.getDeclaredMethod(aMethod, params);
// call the method
thisMethod.invoke(iClass, paramsObj);

Utilisez la réflexion.

Voici un exemple

Avec la réflexion API . Quelque chose comme ceci:

    Method method = getClass().getDeclaredMethod(functionName);
    method.invoke(this);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top