1.泛型只在编译阶段有效,在编译之后程序会采取去泛型化的措施。
也就是说Java中的泛型,只在编译阶段有效。在编译过程中,正确检验泛型结果后,会将泛型的相关信息擦出,并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。也就是说,泛型信息不会进入到运行时阶段。泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。
2.泛型的几种形式
1.泛型类:泛型类型用于类的定义中;最典型的就是各种容器类:List、Set、Map
常见的泛型标志:T、E、K、V等。
不能对确切的泛型做instanceof操作:if(hggggc instanceof List<Integer>)是错误的表达。
2.泛型接口:
3.泛型通配符
当操作类型时,不需要使用类型的具体功能时,只使用Object类中的功能。那么可以用 ? 通配符来表未知类型。
4.泛型方法:
3.泛型的上下边界