java泛型,“参数化参数”的基本理解

Java在JDK1.5中引入泛型这一新特性,泛型的本质是参数化类型,也就是说,可以把数据类型指定为一个参数,这个参数类型可以用在类、接口和方法的创建中。泛型在Java语言的Collection中大量地被使用,例如List允许被插入任意类型的对象,在程序中可以声明List、List等更多的类型。

那么,什么是参数化类型?其实,参数是一个外部变量。对于一个方法,其参数都是从外部传入的,那么,参数的类型是否也作为一个参数,在运行时决定呢?答案是肯定的,泛型就可以做到这一点。

泛型为程序员带来了很多编程好处,具体有以下两点内容:
1)简单安全。一方面,由于在编译时会进行类型检查,因此提高了安全性,另一方面,在编译阶段就可以把错误报出来,从而减轻了程序员的调试工作量。
2)性能的提升。以容器为例,在没有泛型的时候,由于容器返回的类型都是Object类型,因此需要根据实际情况将返回值强制转换为期望的类型。在引入泛型以后,由于容器中存储的类型在声明的时候可以确定,因此对容器的操作不需要进行类型转换,这样做的好处是一方面增强了代码的可读性,降低了程序出错的可能性,另一方面也提高了程序运行的效率。

泛型提供了如下几个方面的功能:
1)避免代码中的强制类型转换。
2)限定类型。在编译时提供一个额外的类型检查,避免错误的值被存入容器。
3)实现一些特别的编程技巧。例如:提供一个方法用于拷贝对象,在不提供额外方法参数的情况下,使返回值类型和方法参数类型保持一致。

猜你喜欢

转载自blog.csdn.net/qq_41885819/article/details/110923008