java中泛型的目的。

在JDK1.5java引入了泛型:  T(指java中类型)、K、V(指键和值Key Value)、E(Element   特性是枚举)

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

1、安全:java引入泛型的主要目的是为了提高java程序的类型安全。

2、消除强制类型的转换:这也是泛型另一个好处,消除源代码中许多强制类型的转换。使得代码更加可读,并且减少了出错机会。

(第三条是我找的资料,因为目前为止我的水平还未达到)

3潜在的性能收益:泛型为较大的优化带来可能。在泛型的初始实现中,编译器将强制类型转换(没有泛型的话,程序员会指定这些强制类型转换)插入生成的字节码中。但是更多类型信息可用于编译器这一事实,为未来版本的 JVM 的优化带来可能。由于泛型的实现方式,支持泛型(几乎)不需要 JVM 或类文件更改。所有工作都在编译器中完成,编译器生成类似于没有泛型(和强制类型转换)时所写的代码,只是更能确保类型安全而已。

泛型的规则和限制:

1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。

2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。

3、泛型的类型参数可以有多个。

4、泛型的参数类型可以使用extends语句

5、泛型的参数类型还可以是通配符类型

原文地址:https://www.cnblogs.com/javacatalina/p/6580228.html