黑马程序员技术交流社区

标题: 菜鸟请求大神一道题 [打印本页]

作者: 罗123    时间: 2015-1-10 22:55
标题: 菜鸟请求大神一道题
:ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
作者: 武维京    时间: 2015-1-11 09:14
给你个方向,用反射做!!! 然后就看你自己的了!!
作者: 446111220    时间: 2015-1-11 09:44
这个用反射,跳过泛型,你想想吧。
作者: 菜鸟一号    时间: 2015-1-11 09:57
反射,因为class文件不存泛型
作者: 以利亚    时间: 2015-1-11 10:31
通过反射的方式,只要跳过编译器就可以往某个泛型集合中加入其他类型的数据!
作者: 18255007004    时间: 2015-1-11 11:18
通过反射的方式,一定可以
作者: limxing    时间: 2015-1-11 11:57
18255007004 发表于 2015-1-11 11:18
通过反射的方式,一定可以

你复习到什么地方了
作者: 罗123    时间: 2015-1-11 13:52
菜鸟一号 发表于 2015-1-11 09:57
反射,因为class文件不存泛型

package com.itheima;
/*
*
:ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
*/
import java.util.*;
import java.lang.reflect.Method;
public class TestF
{
        public static void main(String[] args)throws Exception
        {
          ArrayList<Integer> list = new ArrayList<Integer>();
          Method [] m=list.getClass().getMethods();
          String str="abc";
          System.out.println(m.length);
          for(int i=0;i<m.length;i++)
          {
                  System.out.println(m);
          }
          m[0].invoke(list,str);
          int len=list.size();
          for(int i=0;i<len;i++)
          {
                  System.out.println(list.get(i));
          }
        }
}
第20条还是会出异常  求大神解答
作者: 执笔画梦    时间: 2015-1-11 19:24
反射真难




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