泛型声明总则
- 有且只用一个尖括号(<>)指定,如<T>
- 可以指定多个泛型,以逗号(,)隔开,如<T, R>
- 可以指定继承的基类/父类,如<T extends Character>,不指定则默认Object
泛型方法
在返回参数之前声明,如
public <S extends String> int getLength(S id){
return id.length();
}
泛型类
在类名之后声明,如
public class MyGenerics<T extends Timestamp, S extends String> {
// 直接使用
S id;
// 必须与该类声明的泛型保持一致
MyGenerics<S,T> ts;
// 直接使用在成员方法中,无需再次声明
public int getLength(S id){
return id.length();
}
}
注意:
- 已在类中声明的泛型,可以直接使用在成员变量及成员方法中,无需再次声明。
- 若泛型类声明了多个泛型,定义该泛型类对象时,必须与该类声明的泛型保持一致。