黑马程序员技术交流社区

标题: ArrayList<Integer> list = new ArrayList<Integer>(); [打印本页]

作者: 18618120018    时间: 2014-7-25 17:48
标题: ArrayList<Integer> list = new ArrayList<Integer>();

在这个泛型为Integer的ArrayList中存放一个String类型的对象。
作者: java—family    时间: 2014-7-25 18:08
这要用到反射  我给你现在给你写写
作者: java—family    时间: 2014-7-25 18:36
package cn.itcast.collection;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;

//在这个泛型为Integer的ArrayList中存放一个String类型的对象。
public class reflectDemo {
//思路: 用反射跳过泛型,调用 ArrayList类中的add方法添加string
        public static void main(String[] args) throws SecurityException, NoSuchMethodException, Exception, IllegalAccessException, InvocationTargetException {
                 ArrayList<Integer> al = new ArrayList<Integer>();
                 String str = "xiaomig";
                 Method m = al.getClass().getMethod("add", Object.class);// 得到add方法对象
                 m.invoke(al, str);
                 for(int x=0;x<al.size();x++){
                         System.out.println(al.get(x));
                 }

        }

}
作者: my1111wxy    时间: 2014-10-18 23:43
java—family 发表于 2014-7-25 18:36
package cn.itcast.collection;

import java.lang.reflect.InvocationTargetException;

顶一下

作者: zhangyangLengen    时间: 2014-11-1 08:54
顶一下,加油
作者: Kikyou2014    时间: 2014-11-4 14:38
由于编译后会擦除泛型,所以可以用到反射
作者: liuch111    时间: 2015-8-7 09:38
很好                        
作者: 宋美涛    时间: 2015-9-15 00:39
666666666666666666
作者: xiaojunru    时间: 2016-3-14 17:23
厉害啊,很欣赏你
作者: xiaojunru    时间: 2016-3-14 19:50
好难啊,该怎么做呢
作者: 936994215    时间: 2016-6-13 23:16
除了反射还有别的办法吗?




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