0

我实际上正在考虑使用 Java 反射从“CC1”类中获取名称存储在字符串“methodName”中的方法。

Method actualMethod= CC1.getMethod(methodName, parameterTypes);

这是语法。问题是该方法没有参数。我如何在 parameterTypes 中表示它?

其中 parameterTypes 是 Class 的数组

同样,下面的代码将调用该方法。

Object retobj = actaulMethod.invoke(actualObject, arglist);

arglist 是对象数组,它又必须是空的。

如果有什么不清楚的,请询问。谢谢 。

4

2 回答 2

3

不要传递第二个参数:

CC1.getMethod(methodName);

(这利用了varargs

这相当于传递一个空数组:

CC1.getMethod(methodName, new Class[] {});
于 2010-10-30T08:38:17.720 回答
1

签名是:

Method getMethod(String name, Class... parameterTypes) 

所以只需留下第二个参数,它应该可以工作。IE

Method actualMethod= CC1.getMethod(methodName);
于 2010-10-30T08:38:29.183 回答