1.定义泛型类:
泛型类就是具有一个或多个类型变量的类,即创建用类型作为参数的类。(类型参数使程序具有更好的可读性和安全性)
简单泛型类的定义如下:
public class Pair<T> /可以泛化的参数化类型,只有一个参数
{
private T first; //类定义中的类型变量指定方法的返回类型以及域和局部变量的类型
private T second; //属性
public Pair{first=null;second=null;}
public Pair(T first,T second){this.first=first;this.second=second;}
...
}
如上Pair类引入了类型变量T,用尖括号括起来,并放在类名后面
2.泛型方法的定义:
例如:
class ArrayAlg
{
public Static<T> T getMiddle(T...a) //泛化处理标记
{
return a[a.length/2];
}
}
泛型方法可以定义在普通类中也可以定义在泛型类中;当调用一个方法时,在方法名前的尖括号中放入具体的类型
3.类型变量的限定与通配符:
(1)用extends关键字定义上界:
extends关键字定义的上界既可以是一个类也可以是一个接口。例如:<T extends BoundingType>表示T是绑定类型的子类
? extends type,表示带有上界
(2)用super关键字定义下界:
? super type,表示带有下界
注:单独的?,用于表示任何类型