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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ClimberRobert

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

题目为:ArrayList list = new ArrayList();  在这个泛型为Integer的ArrayList中存放一个String类型的
答案如下:
问题是:该如何理解通过反射可以往泛型为Integer的ArrayList中存放String呢?
public class Test3 {

        public static void main(String[] args) throws Exception {
                ArrayList<Integer> list = new ArrayList<Integer>();
                Method method = list.getClass().getMethod("add",Object.class);
                method.invoke(list,"This is a String.");
                System.out.println(list);
        }
}

3 个回复

倒序浏览
求大神解答!
回复 使用道具 举报
我觉得调用反射得到add方法,再通过invoke调用add方法,invoke中参数是object类型,可以放入String类型,这样就让过了结合泛型中的Interger类型检测。我觉得应该是这样
回复 使用道具 举报
看不懂啊,要学的还很多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马