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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18618120018 中级黑马   /  2014-7-25 17:48  /  11414 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


在这个泛型为Integer的ArrayList中存放一个String类型的对象。

10 个回复

倒序浏览
这要用到反射  我给你现在给你写写
回复 使用道具 举报
package cn.itcast.collection;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;

//在这个泛型为Integer的ArrayList中存放一个String类型的对象。
public class reflectDemo {
//思路: 用反射跳过泛型,调用 ArrayList类中的add方法添加string
        public static void main(String[] args) throws SecurityException, NoSuchMethodException, Exception, IllegalAccessException, InvocationTargetException {
                 ArrayList<Integer> al = new ArrayList<Integer>();
                 String str = "xiaomig";
                 Method m = al.getClass().getMethod("add", Object.class);// 得到add方法对象
                 m.invoke(al, str);
                 for(int x=0;x<al.size();x++){
                         System.out.println(al.get(x));
                 }

        }

}
回复 使用道具 举报 1 0
java—family 发表于 2014-7-25 18:36
package cn.itcast.collection;

import java.lang.reflect.InvocationTargetException;

顶一下
回复 使用道具 举报
顶一下,加油
回复 使用道具 举报
由于编译后会擦除泛型,所以可以用到反射
回复 使用道具 举报
很好                        
回复 使用道具 举报
666666666666666666
回复 使用道具 举报
厉害啊,很欣赏你
回复 使用道具 举报
好难啊,该怎么做呢
回复 使用道具 举报
除了反射还有别的办法吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马