java中泛型插除的问题

Java 的泛型擦除和运行时泛型信息获取 - 编程语言 - ITeye资讯

如:

list<interger> list1= new ArrayList<Integer>();

list<String > list2= new ArrayList<String>();

syso;list1==list2        true


如:Map map = new HashMap() {};  //定义类的方式获取数据

Type type = map.getClass().getGenericSuperclass();  

ParameterizedType parameterizedType = ParameterizedType.class.cast(type);  

for (Type typeArgument : parameterizedType.getActualTypeArguments()) {  

    System.out.println(typeArgument.getTypeName());  

原因是: 编译时编译器会把泛型数据插除,避免过多的类被创建消耗性能

而需要用到泛型中的参数时可通过定义类的方式获取数据(序列和反序列)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容