Java Reflection with Object ...作为参数

时间:2013-02-05 18:29:59

标签: java reflection

我想使用Java反射来调用具有以下签名的我的类的方法:

public Object execute(Object...params)

在我的loader类中,我已经加载了类,但我不确定如何设置我的getMethod调用。目前,我有这样的事情:

Method classEntry = _loadedClass.getMethod("execute", new Class[]{Object[].class});

然后我尝试通过调用:

创建我的类的newInstance后调用此方法
Object classObj = _loadedClass.newInstance();
classEntry.invoke(classObj, params); // params comes in from the method as Object...params

这给了我一个java.lang.NoSuchMethodException例外。我知道我的问题在于我的getMethod调用。我该如何设置它以接受params对象?

1 个答案:

答案 0 :(得分:2)

如果params的类型为Object [],那么您需要像这样调用invoke

classEntry.invoke(classObj, new Object [] {params});

但这并不能解释NoSuchMethodException