A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

前段时间看到有个问题:说是定义个带String泛型的ArrayList,怎么储存Integer类型的数据?我在网上查了好多,用反射怎么做?求大神解释的详细点 容易理解点哈  谢谢

6 个回复

倒序浏览
大神带我飞可好
回复 使用道具 举报

带不懂      
回复 使用道具 举报
反射就可以
回复 使用道具 举报
import java.lang.reflect.*;
import java.util.*;
import java.lang.*;
public class reflect {
public static void main(String[] args)throws Exception  {
  ArrayList<String> al = new ArrayList<String>();// 建立一个ArrayList<String>对象
  al.add("string1");//添加string类型的变量到集合中去
  al.add("string2");
  Class c1 = al.getClass(); // 获取对象的class字节码对象
  Method m1 = c1.getMethod("add",Object.class); // 获取add方法,并设置add方法中的参数

  m1.invoke(al, 123); // 运行add方法,并传入实际要存储参数。
        Iterator it=al.iterator(); //用迭代器取出各个元素,注意:此迭代器不能用泛型,否则无法取出不同类型数据

     while (it.hasNext())
     {System.out.println(it.next());}
}
}
回复 使用道具 举报
dxf578939729 发表于 2015-3-25 09:36
import java.lang.reflect.*;
import java.util.*;
import java.lang.*;

谢谢                                      
回复 使用道具 举报
这块不太懂啊,来学习学习。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马