一段话系列-Java泛型的用途及实现方式

张嘴喂你 2019-04-15 22:18:36    6 阅读

用途

解决类型转换的问题

如何实现

首先确认一点:

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)。
    

本文由【EasyProgramming】发布于开源中国,原文链接:https://my.oschina.net/u/2312080/blog/3033945

全部评论: 0

    我有话说: