黑马程序员技术交流社区
标题:
这道题有人会吗?
[打印本页]
作者:
风轻云淡139
时间:
2016-9-17 00:54
标题:
这道题有人会吗?
1.ArrayList<Integer> list = new ArrayList<Integer>();
这个泛型为Integer的ArrayList中存放一个String类型的对象
作者:
zhoubinjian
时间:
2016-9-17 08:41
这道题是考反射的,反射可以越过泛型存入不同类型的数据。代码就那么几行,百度吧,这样你也印象深刻
作者:
somnus-sir
时间:
2016-9-17 09:23
package com.whn.practice;
import java.lang.reflect.Method;
import java.util.ArrayList;
/*以下内容来自百度
*
*
* ArrayList<Integer> list = new ArrayList<Integer>();
* 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
* 思路:
* 1.创建ArrayList集合对象,泛型是Integer
* 2.通过反射(对象.Class),获取list对象的Class文件对象,
* 并通过Class文件对象调用成员方法getMethod(String name, Class... parameterTypes)
* 获取Method对象
* 3.并通过Method对象使用invoke方法,
* (对带有指定参数的指定对象调用由此 Method 对象表示的基础方法)
* 添加一个String类型的字符串"CSDN"
* 4:打印输出list集合
*/
public class Test911 {
public static void main(String[] args) throws Exception {
// 创建ArrayList集合对象
ArrayList<Integer> list = new ArrayList<Integer>();
// 通过list对象的Class文件对象获取Method对象
Method methodAddString = list.getClass().getMethod("add", Object.class);
// 通过Method对象的invoke方法添加String类型的字符串
methodAddString.invoke(list, "CSDN");
// 打印输出list集合
System.out.println(list);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2