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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许鹏 黑马帝   /  2011-8-9 11:26  /  3338 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList<Integer> arraylist = new ArrayList<Integer>();
  //普通方法
  arraylist.add(313);
  //通过反射存储,向集合中存储对象
  arraylist.getClass().getMethod("add",Object.class).invoke(arraylist, new String("123456"));

4 个回复

倒序浏览
黑马网友  发表于 2011-8-9 13:15:32
沙发

解决

搞定了,用
if ( (Object)arraylist.get(1) instanceof java.lang.String )
                {  
                        System.out.println("string");
                        }
else{
                        System.out.println("not string");
                }

搞定了,如果存储字符串对象得出就是字符串,存储整形就是整形的,反射够强,无类型限制。
回复 使用道具 举报
黑马网友  发表于 2011-8-10 05:45:40
藤椅
我做这题根本不用反射。。。三四句搞定,固计老师看了会气死。都是因为sun公司为了解决兼容问题才会弄这么个bug
回复 使用道具 举报
黑马网友  发表于 2011-8-10 05:48:23
板凳
你说的无类型限制,只是泛型在运行时被擦除了
回复 使用道具 举报
很好!很强大!












回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马