黑马程序员技术交流社区

标题: 反射的小问题 [打印本页]

作者: 刘博    时间: 2011-12-8 18:07
标题: 反射的小问题
List<Integer> list = new ArrayList<Integer>();
  String str = "abc";

  怎么把str放到list中?
list只能存放integer类型,把list定义为Object类型.List<Object> list = new ArrayList<Object>();

作者: 颜小飞    时间: 2011-12-8 19:04
使用反射得到add的方法类,然后在把字符串添加进去。j


public class ChangeGeneric {
        public static void main(String[] args) {
                //定义一个Integer类型的ArrayList集合
                List<Integer> list=new ArrayList<Integer>();
                list.add(12);//向集合中添加一个int类型的数据
                Method listAddd=null;//声明一个方法类
                try {
                        listAddd = list.getClass().getMethod("add", new Class[]{Object.class});//获得集合的add方法类
                        String str="添加一个字符串";
                        listAddd.invoke(list, new Object[]{str});//将这个字符串添加到集合中去
                }catch(Exception ex)
                {
                        ex.printStackTrace();
                }
                //输出这个Integer类型的泛型集合中的内容
             for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }

}




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