用途
解决类型转换的问题
如何实现
首先确认一点:
java并没真正实现泛型,即意为:在字节码文件中,存储的还是原始类型。
可通过如下代码进行验证:
public class Test4 {
public static void main(String[] args) {
ArrayList<String> arrayList1=new ArrayList<String>();
arrayList1.add("abc");
ArrayList<Integer> arrayList2=new ArrayList<Integer>();
arrayList2.add(123);
System.out.println(arrayList1.getClass()==arrayList2.getClass());
//输出为true
}
}
然后,我们可推断,Java的泛型实现方式:
Java是在编译器(比如通过idea进行泛型的检查)这一层面进行控制,保证泛型的一致性,在编译时,JVM会将泛型的类型擦除,所以存在字节码文件中的仍然是原始类型(object)。