2011-11-18 92 views
0

,如果我有这需要一个int[]作为参数的方法,我想呼吁这个然后做我需要做下面的如何调用MethodInvoke - 反射

Object[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; 
method.invoke(obj, anArray); 

它是那样简单method.invoke因为我似乎越来越错误?

问候

+0

你能后的错误呢? –

+0

IllegalArgumentException的被用坏ARG列表抛出 – Biscuit128

+0

张贴您正在使用,以获得“方法” –

回答

5

Method.invoke有两个参数。第一个是目标,obj,这是正确的。第二个是数组,表示您尝试调用的实际方法的零个或多个参数(许多方法具有多个参数)。您的代码应改为:

method.invoke(obj, new Object[] { anArray }); 

这样一来,你说。“调用此方法有一个参数,并且参数为数组这是说,不同的‘调用此方法与10个参数’(一个阵列中的每个元素)。