-简单定义泛型类和泛型方法
- 泛型类
public class ArrayAlg<T>{...}
引入一个类型变量T,用尖括号(<>)括起来,并放在类名的后面。 泛型方法
public class ArrayAlg { @Contract(pure = true) public static <T> T getMiddle(T... a){ return a[a.length/2]; }
泛型方法可以定义在普通类中,也可以定义在泛型类中
-类型变量的限定
public static <T extends Comparable> T min(T[] a){...}
这里就是将T限制为实现了Comparable接口(只含一个方法的compareTo的标准接口)的类
- 一个类型变量或通配符可以有多个限定,例如:
T extends Comparable & Serializable
限定类型用 “&”分隔,而逗号用来分隔类型变量 - 在C++中不能对模板参数的类型加以限制