泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?
顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),
然后在使用/调用时传入具体的类型(类型实参)。
泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,
操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。
相关术语:
- ArrayList中的E称为类型参数变量
- ArrayList中的Integer称为实际类型参数
- 整个称为ArrayList泛型类型
- 整个ArrayList称为参数化的类型
ParameterizedType
泛型的作用:
代码更加简洁【不用强制转换】
程序更加健壮【只要编译时期没有警告,那么运行时就不会抛出ClassCastException
的异常】
可读性和稳定性【在编写集合的时候,就限定了类型】****