黑马程序员技术交流社区

标题: 求助 [打印本页]

作者: 疯子的昨天    时间: 2014-2-7 21:29
标题: 求助
ArrayList<String> arr =  new ArrayList<String>();
           Method method = arr.getClass().getMethod("add",Object.class);
           method.invoke(arr, 1);
           System.out.println(arr.get(0));
这段代码为什么要报错。
假如我换成ArrayList  Integer 类型的 加个String 就可以。 但是反过来就不行 这是为什么?
作者: 酱爆    时间: 2014-2-7 23:06
method.invoke(arr,1);
System.out.println(arr.get(0));
我翻了翻源代码
这里其实是调用了println(String s); 方法,而不是println(int x ); 方法,所以报了类型转换异常
你试试
Object obj = arr.get(0);
System.out.println(obj);
这样就行了





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2