泛型

泛型的本质是参数化类型,即将操作数的数据类型指定为一个参数。当这种参数类型用在类中时,就称该类为泛型类。
泛型类的格式:

[类修饰词] class 类名<类型参数> [extends 父类名] [implements 接口名]{   类体
}

在引入泛型之前,要在类中的方法支持多个类型,就需要对方法进行重载,在引入泛型后,可以解决此问题(多态),更进一步可以定义多个参数以及返回值之间的关系。例如:

public void writer(Integer i, Integer[] ia);
public void writer(Double i, double[] ia);

泛型版本为:

public <T> writer(T t, T ta);

通配符:
<?>表示未指定的类型,java会自动将其当作最顶层的Object类,所以它和<Object>等效。

<T extends Student>表示泛型T指代Student类及继承它的子类、子类的子类......

<T super Student>表示泛型T指代Student类及它的父类、父类的父类......

参考 娄宗

推荐阅读更多精彩内容