泛型的一般格式Test<T>,使用起来很方便,相当于Object,而且和C/C++中的模板差不多。
但是Java的泛型还有一个好处,在于可以限定T的类型,格式如下:
 Test<T extends Base>,这样就要求Test的类型必须继承了Base。
 注意这里的extends只是一个关键字,不同于表示继承的extends,Base可以是Class,也可以是Interface。
  它就有限定上、下限的功能:
 泛型的限定上限: <T extends E> 接受 E 或者 E 的子类型。
 泛型的限定下限: <T  super   E>  接收  E 或者 E 的父类。
 例如:
public class BST<Key extends Comparable<Key>, Value> {//key必须是实现了Comparable的类型private Node root;             // root of BSTprivate class Node {private Key key;           // sorted by keyprivate Value val;         // associated dataprivate Node left, right;  // left and right subtreesprivate int N;             // number of nodes in subtreepublic Node(Key key, Value val, int N) {this.key = key;this.val = val;this.N = N;}}// is the symbol table empty?public boolean isEmpty() {return size() == 0;}
..........
}