如何使用java反射调用带有字符串参数的方法

时间:2014-01-16 10:57:11

标签: java reflection

如果方法参数是使用反射的String类型,可以告诉我如何调用方法。我已经给出了以下代码,请指导我

提前致谢

2 个答案:

答案 0 :(得分:4)

以下是您的简单示例:

import java.lang.reflect.Method;

public class Example {

    public static void main(String args[]) {
        Example e = new Example();
        try {
            Method method = e.getClass().getMethod("callMe", String.class);
            method.invoke(e, "s");
        } catch (Exception e1) {
            e1.printStackTrace();
        } 
    }

    public void callMe(String param){
        System.out.println("called with param ="+param);
    }

}

另请阅读tutorial for reflection

答案 1 :(得分:0)

例如,我将使用parse(String)对象中的SimpleDateFormat方法:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Method parseMethod = SimpleDateFormat.class.getMethod("parse", String.class); 
// Or use: parseMethod = df.getClass().getMethod("parse", String.class);
Object result = parseMethod.invoke(df, "2013-1-1");