如果我有一个方法以int[]
为参数,我希望在此调用method.invoke
,那么我是否需要执行以下操作
Object[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
method.invoke(obj, anArray);
是否因为我似乎遇到错误一样简单?
此致
答案 0 :(得分:5)
Method.invoke
有两个参数。第一个是目标,obj
,这是正确的。第二个是数组,表示您尝试调用的实际方法的零个或多个参数(许多方法都有多个参数)。您的代码应更改为:
method.invoke(obj, new Object[] { anArray });
这样,你说“用一个参数调用这个方法,那个参数就是一个数组。这与说法不同,”用10个参数调用这个方法“(数组中每个元素一个)。 / p>