泛型,即“参数化类型”。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,
操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。
Java中的泛型,只在编译阶段有效。在编译过程中,正确检验泛型结果后,会将泛型的相关信息擦出,并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。也就是说,泛型信息不会进入到运行时阶段。
对此总结成一句话:泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。
泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法。
泛型类:泛型类型用于类的定义中,被称为泛型类。通过泛型可以完成对一组类的操作对外开放相同的接口。最典型的就是各种容器类,如:List、Set、Map。
泛型接口:泛型接口与泛型类的定义及使用基本相同。泛型接口常被用在各种类的生产器中,
在java中,泛型类的定义非常简单,但是泛型方法却比较复杂。
泛型方法,是在调用方法的时候指明泛型的具体类型,泛型方法可以出现杂任何地方和任何场景中使用。但是有一种情况是非常特殊的。
欢迎大家批评指正,指出问题,谢谢!