黑马程序员技术交流社区
标题:
反射方法有可变参数,应该如何处理啊
[打印本页]
作者:
广驰
时间:
2012-9-20 16:08
标题:
反射方法有可变参数,应该如何处理啊
本帖最后由 应广驰 于 2012-9-20 16:25 编辑
在反射的方法中可变参数的值应该如何传递
public class Try
{
public void trys(int i,int...o)
{
for(int a : o)
{
i += a;
}
System.out.println(i);
}
}
复制代码
public class Chanshu
{
public static void main(String[] args) throws Exception
{
Try t = new Try();
t.trys(1,12,53,64,567,3);
Method m = t.getClass().getMethod("trys", int.class,int[].class);//这里这样写可以吗
m.invoke(t,???);//这里的参数该如何传递,试了几种方法都不对
}
}
复制代码
求解,反射中出现可变参数,应该如何处理啊
作者:
彭润生
时间:
2012-9-20 16:22
Try t = new Try();
t.trys(1,12,53,64,567,3);
Method m = t.getClass().getMethod("trys", int.class,int[].class);//这里这样写可以吗.
这样写可以,可变参数就是相当于数组。
m.invoke(t,2,new int[] {25});//用这样就可以了吧,你试试。可以在{}里面穿多个参数。
作者:
广驰
时间:
2012-9-20 16:24
彭润生 发表于 2012-9-20 16:22
Try t = new Try();
t.trys(1,12,53,64,567,3);
...
m.invoke(t,2,new int[] {25});呃,试了好久,原来是忘了new了,用的是英文版的也不知道什么提示,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2