黑马程序员技术交流社区

标题: 怎么得到ArrayList中的对象类型? [打印本页]

作者: 许鹏    时间: 2011-8-9 11:26
标题: 怎么得到ArrayList中的对象类型?
ArrayList<Integer> arraylist = new ArrayList<Integer>();
  //普通方法
  arraylist.add(313);
  //通过反射存储,向集合中存储对象
  arraylist.getClass().getMethod("add",Object.class).invoke(arraylist, new String("123456"));
作者: 匿名    时间: 2011-8-9 13:15
标题: 解决
搞定了,用
if ( (Object)arraylist.get(1) instanceof java.lang.String )
                {  
                        System.out.println("string");
                        }
else{
                        System.out.println("not string");
                }

搞定了,如果存储字符串对象得出就是字符串,存储整形就是整形的,反射够强,无类型限制。
作者: 匿名    时间: 2011-8-10 05:45
我做这题根本不用反射。。。三四句搞定,固计老师看了会气死。都是因为sun公司为了解决兼容问题才会弄这么个bug
作者: 匿名    时间: 2011-8-10 05:48
你说的无类型限制,只是泛型在运行时被擦除了
作者: 心和尚    时间: 2011-10-15 06:16
很好!很强大!

















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