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: 413

Filed under:
|

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

Related posts about java

Related posts about reflection