本帖最后由 车风波 于 2012-6-27 17:36 编辑
- public void show(ArrayList<String> s) {
- }
- public static void main(String[] args) {
- try {
- Method method = Test.class.getMethod("show", ArrayList.class);
- Type[] types = method.getGenericParameterTypes(); //取得此方法的所有参数
- ParameterizedType type = (ParameterizedType) types[0]; //取得第一个参数强转成参数化类型(泛型)
- Type argType = type.getActualTypeArguments()[0];//取得泛型的第一个实际类型参数
- System.out.println(argType); //结果为String
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
复制代码 如题,泛型不是只在源代码中起作用吗,编译成class运行怎么还能保存ArrayList的实际类型参数String? 泛型存在于class中吗?存在于运行时加载到内存中的文件中吗?
|
-
a.jpg
(34.38 KB, 下载次数: 55)
|