如果我有一个接受int[]作为参数的方法,并且我希望对此调用method.invoke,那么我是否需要执行以下操作
Object[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
method.invoke(obj, anArray);是不是就像我看到的错误那样简单?
问候
发布于 2011-11-19 04:56:22
Method.invoke有两个参数。第一个是目标obj,这是正确的。第二个是一个数组,表示您试图调用的实际方法的零个或多个参数(许多方法都有多个参数)。您的代码应更改为:
method.invoke(obj, new Object[] { anArray });这样,你就会说“用一个参数调用这个方法,而这个参数是一个数组。这与说”用10个参数调用这个方法“不同”(数组中的每个元素一个)。
https://stackoverflow.com/questions/8188870
复制相似问题