1. 泛型类
public class Pair { // 也可以定义为Pair
private T first;
private T second;
}
2. 泛型方法
class ArrayAlg {
public static T getMiddle(T[] a) {
return a[a.length / 2];
}
}
调用泛型方法
String[] names = {"John", "Q", "Public"};
String middle = ArrayAlg.getMiddle(names); //或者省略
3. 泛型变量
class ArrayAlg {
public static Pair mixmax(T[] a) { //注意,T可以是任何对象,那么就不能保证T有compareTo的方法,所以必须继承Comparable接口,来确保有compareTo方法
T smallset = a[0];
}
}
4. 可以把返回的泛型类型,强制转换成某一种特殊类型
5. 泛型约束
5.1 基本类型,只有Pair,而没有Pair
5.2 不能抛出和捕获泛型类的异常
5.3 不能声明参数化类型的数组,如:Pair[] table = new Pair(10);
5.4 不能实例化泛型类