How to call Java function from string stored in a Variable

Lizard picture Lizard · Jun 14, 2010 · Viewed 26.1k times · Source

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

Answer

polygenelubricants picture polygenelubricants · Jun 14, 2010

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