Java reflection
Posted
by heldopslippers
on Stack Overflow
See other posts from Stack Overflow
or by heldopslippers
Published on 2010-04-12T10:20:08Z
Indexed on
2010/04/12
10:23 UTC
Read the original article
Hit count: 411
java
|reflection
Hi people. I have a question about reflection I am trying to have some kind of eval() method. So i can call for example:
eval("test('woohoo')");
Now I understand the there is no eval method in java but there is reflection. I made the following code:
String s = "test";
Class cl = Class.forName("Main");
Method method = cl.getMethod(s, String.class);
method.invoke(null, "woohoo");
This works perfectly (of course there is a try, catch block around this code). It runs the test method. However I want to call multiple methods who all have different parameters.
I don't know what parameters these are (so not only String.class). But how is this possible? how can I get the parameter types of a method ? I know of the following method:
Class[] parameterTypes = method.getParameterTypes();
But that will return the parameterTypes of the method I just selected! with the following statement:
Method method = cl.getMethod(s, String.class);
Any help would be appreciated !
© Stack Overflow or respective owner