一、概述
泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定 义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。
二、使用
2.1、泛型类
定义一个泛型类:
public class ClassName<T>{
private T data;
public T getData() {
return data;
}public void setData(T data) {
this.data = data;
}
}
2.2、泛型接口
三、泛型方法
private static T 方法名(T a, T b) {}
四、泛型限制类型
在使用泛型时, 可以指定泛型的限定区域 ,
- 例如: 必须是某某类的子类或 某某接口的实现类,格式:
- <T extends 类或接口1 & 接口2>
五、泛型中的通配符 ?
类型通配符是使用?代替方法具体的类型实参。
- <? extends Parent> 指定了泛型类型的上届
- <? super Child> 指定了泛型类型的下届
- <?> 指定了没有限制的泛型类型
六、作用
1、 提高代码复用率
2、 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)