Java 空类数组的重集中
实际上,我正在考虑使用Java反射从类“CC1”获取方法,该方法的名称存储在字符串“methodName”中Java 空类数组的重集中,java,reflection,parameters,null,representation,Java,Reflection,Parameters,Null,Representation,实际上,我正在考虑使用Java反射从类“CC1”获取方法,该方法的名称存储在字符串“methodName”中 方法actualMethod=CC1.getMethod(方法名,参数类型); 这就是语法。问题是该方法不带参数。我如何在参数类型中表示它 其中parameterTypes是类的数组 类似地,下面的代码将调用该方法 Object retobj=actaulMethod.invoke(actualObject,arglist); arglist是对象数组,它也必须是空的 如果有什么
方法actualMethod=CC1.getMethod(方法名,参数类型);
这就是语法。问题是该方法不带参数。我如何在参数类型中表示它
其中parameterTypes是类的数组
类似地,下面的代码将调用该方法
Object retobj=actaulMethod.invoke(actualObject,arglist);
arglist是对象数组,它也必须是空的
如果有什么不清楚的地方,请询问。谢谢。不要通过第二个参数:
CC1.getMethod(methodName);
(这利用了)
这相当于传递一个空数组:
CC1.getMethod(methodName, new Class[] {});
不要传递第二个参数:
CC1.getMethod(methodName);
(这利用了)
这相当于传递一个空数组:
CC1.getMethod(methodName, new Class[] {});
签名为:
Method getMethod(String name, Class... parameterTypes)
所以只需去掉第二个参数,它就应该可以工作了。i、 e
Method actualMethod= CC1.getMethod(methodName);
签名为:
Method getMethod(String name, Class... parameterTypes)
所以只需去掉第二个参数,它就应该可以工作了。i、 e
Method actualMethod= CC1.getMethod(methodName);
不传递第二个参数将导致编译器错误。因为我有一个更大的代码库,所以我无法通过传递空数组来测试代码。这不会导致编译时错误,除非您使用的是Java 1.4。不传递第二个参数将导致编译器错误。因为我有一个更大的代码库,所以我也无法通过传递空数组来测试代码。这不会导致编译时错误,除非您使用的是Java 1.4 invoke方法也是同样的方法。谢谢你们,你们的标题有误导性。您所指的是类的空数组,而不是空类。。。这在术语上是矛盾的。@EJP:你是对的。我已经适当地修改了标题。同样的方法也适用于invoke方法。谢谢你们,你们的标题有误导性。您所指的是类的空数组,而不是空类。。。这在术语上是矛盾的。@EJP:你是对的。我已经适当地修改了标题。