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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 結断的时光 中级黑马   /  2016-5-27 21:33  /  468 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList<Integer> list = new ArrayList<Integer>();
在这个泛型为Integer的ArrayList中存放一个String类型的对象。

2 个回复

倒序浏览

回帖奖励 +10

public static void main(String[] args) throws Exception{
                ArrayList<Integer> list = new ArrayList<Integer>();
                String str="I'm a String";
                Integer i = 7;
               
                Method m = list.getClass().getMethod("add", Object.class);//得到add方法对象
               
                //利用正常方式添加Integer类型的对象
                list.add(i);
                //利用反射的方式添加
                m.invoke(list, i);
               
                //正常方法没法添加泛型不符合的对象
                //list.add(str);
                //利用反射的方法则可以添加
                m.invoke(list, str);//通过反射来执行list的第一个方法,第一个是list对象,代表该对象的方法,第二个是方法参数
               
                for (Object obj : list) {
                        System.out.println(obj);
                }
        }
回复 使用道具 举报
你是基础班吗,我们好像没学反射
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马