黑马程序员技术交流社区

标题: 如何理解这道题:在这个泛型为Integer的ArrayList中存放一个String类型的对象。 [打印本页]

作者: ClimberRobert    时间: 2015-11-26 17:29
标题: 如何理解这道题:在这个泛型为Integer的ArrayList中存放一个String类型的对象。
题目为:ArrayList list = new ArrayList();  在这个泛型为Integer的ArrayList中存放一个String类型的
答案如下:
问题是:该如何理解通过反射可以往泛型为Integer的ArrayList中存放String呢?
public class Test3 {

        public static void main(String[] args) throws Exception {
                ArrayList<Integer> list = new ArrayList<Integer>();
                Method method = list.getClass().getMethod("add",Object.class);
                method.invoke(list,"This is a String.");
                System.out.println(list);
        }
}
作者: ClimberRobert    时间: 2015-11-26 18:00
求大神解答!
作者: yuhongzhen    时间: 2015-11-26 20:11
我觉得调用反射得到add方法,再通过invoke调用add方法,invoke中参数是object类型,可以放入String类型,这样就让过了结合泛型中的Interger类型检测。我觉得应该是这样
作者: zqiang    时间: 2015-11-26 20:30
看不懂啊,要学的还很多




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