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