java中泛型插除的问题

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

如:

list list1= new ArrayList();

list list2= new ArrayList();

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());  

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

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

你可能感兴趣的:(java中泛型插除的问题)