java中的泛型分为三种:泛型类、泛型接口、泛型方法
一、泛型类
public class AuthToken<T> {
public T getToken(T o) {
return null;
}
}
二、泛型接口
public interface Comparable<T> { public int compareTo(T o); }
三、泛型方法
private static <E extends Number & Comparable<? super E>> E min(E[] values) { if (values == null || values.length == 0) { return null; } E min = values[0]; for (int i=1; i<values.length; i++) { if (min.compareTo(values[i]) > 0) { min = values[i]; } } return min; }
泛型方法解释:
类型 E 必须实现 Comparable
接口,并且这个接口的类型是 E 或 E 的任一父类。这样声明后, E 的实例之间, E 的实例和它的父类的实例之间,可以相互比较大小。例如,在实际调用时若使用的具体类是 Dog (假设 Dog 有一个父类 Animal),Dog 可以从 Animal 那里继承 Comparable<Animal>
,或者自己 implements Comparable<Dog>