黑马程序员技术交流社区
标题:
泛型编译之后不是擦除了类型信息了吗??
[打印本页]
作者:
朱冰18189949658
时间:
2014-8-17 11:29
标题:
泛型编译之后不是擦除了类型信息了吗??
{
Method applyMethod = GenericTest.class.getMethod("applyVector", Vector.class);
//class类实现了Type接口
Type[] types = applyMethod.getGenericParameterTypes();
//ParameterizedType参数化的类型
ParameterizedType pType = (ParameterizedType)types[0];
//pType.getRawType()得到原始类型
System.out.println(pType.getRawType());
//pType.getActualTypeArguments()[0]得到第一个实际参数类型
System.out.println(pType.getActualTypeArguments()[0]);
}
public static void applyVector(Vector<Date> v1)
{
}
复制代码
为什么把这个泛型交给一个方法使用后,通过这个方法可以知道泛型的类型??
作者:
justin1258
时间:
2014-8-17 14:52
是擦除了,但是还是留下了“痕迹”,建议楼主自己写个泛型方法或泛型类,看看编译后的class文件,和普通定义有什么区别。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2