泛型
泛型就是参数化类型
* 适用于多种数据类型执行相同的代码
* 泛型中的类型在使用时指定
* 泛型归根到底就是“模版”
优点:使用泛型时,在实际使用之前类型就已经确定了,不需要强制类型转换。
泛型主要使用在集合中
自定义泛型
泛型字母
形式类型参数(formal type parameters)即泛型字母
命名泛型字母可以随意指定,尽量使用单个的大写字母(有时候多个泛型类型时会加上数字,比如T1,T2)
常见字母(见名知意)
T Type
K V Key Value
E Element
当类被使用时,会使用具体的实际类型参数(actual type argument)代替
泛型类
只能用在成员变量上,只能使用引用类型
泛型接口
只能用在抽象方法上
泛型方法
返回值前面加上
泛型的继承
通配符
通配符(Wildcards)
T、K、V、E 等泛型字母为有类型,类型参数赋予具体的值
?未知类型 类型参数赋予不确定值,任意类型
只能用在声明类型、方法参数上,不能用在定义泛型类上
extends/super
上限(extends)
指定的类必须是继承某个类,或者实现了某个接口(不是implements),即<=
? extends List
下限(super)
即父类或本身
? super List
泛型嵌套
从外向里取
其他
欢迎关注,欢迎留言探讨。
网友评论