我有课AClass
和一个方法someMethod
得到一个Object
数组作为参数。
public class AClass {
public void someMethod(Object[] parameters) {
}
}
主要是,当我尝试在我创建的对象上调用此方法并将对象数组作为此方法的参数时
Object[] parameters; // lets say this object array is null
Class class = Class.forName("AClass");
Object anObject = class.newInstance();
Method someMethod = class.getDeclaredMethod("someMethod", parameters.getClass());
someMethod.invoke(anObject, parameters);
我收到“参数数量错误错误”。
我缺少什么?
这样就可以了。
Object[] parameters = {new Object()}; // lets say this object array is null
Class clas = Class.forName("AClass");
Object anObject = clas.newInstance();
Object[] param = {parameters};
Method someMethod = clas.getDeclaredMethod("someMethod", parameters.getClass());
someMethod.invoke(anObject, param);
请注意调用方法的第二个参数。它是Object[]
本身,并且你的方法的参数类型是Object[]
too.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)