How to call Java function from string stored in a Variable [duplicate]
-
27-09-2019 - |
Question
Possible Duplicate:
Calling a method named “string” at runtime in Java and C
I need to be able to call a function, but the function name is stored in a variable, is this possible. e.g:
public void foo ()
{
//code here
}
public void bar ()
{
//code here
}
String functionName = "foo";
// i need to call the function based on what is functionName
Anyhelp would be great, thanks
Solution
Yes, you can, using reflection. However, consider also Effective Java 2nd Edition, Item 53: Prefer interfaces to reflection. If at all possible, use interfaces instead. Reflection is rarely truly needed in general application code.
See also
Related questions
OTHER TIPS
Use reflection.
Here's an example
With the reflection API. Something like this:
Method method = getClass().getDeclaredMethod(functionName);
method.invoke(this);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow