Generic type in Tiger
1. 受限范型是指类型参数的取值范围是受到限制的. extends关键字不仅仅可以用来声明类的继承关系, 也可以用来声明类型参数(type parameter)的受限关系.例如, 我们只需要一个存放数字的列表, 包括整数(Long, Integer, Short), 实数(Double, Float), 不能用来存放其他类型, 例如字符串(String), 也就是说, 要把类型参数T的取值范型限制在Number极其子类中.在这种情况下, 我们就可以使用extends关键字把类型参数(type parameter)限制为数字,
2. 在创建范型类的对象的时候, 和创建普通对象基本类似, 必须提供具体的类类型来替代类型参数T (J2SE 5.0目前不支持原始类型作为类型参数(type parameter)).
3. T和V虽然看起来是两个不同的类型参数, 但是在使用这个范型类的时候, T和V很有可能被替换成同一种类型. 因此在声明多个类型参数的范型类时, 要注意避免这种二义
性错误.
4. J2SE 5.0中提供了范型的通配符"?", "?"可以用来代替任何类型, 例如使用通配符来实现print方法
public static void print(GenList<?> list) {}
而非 public static void print(GenList<T> list){}
5. 范型的一些局限
5.1 类型参数不能实例化,例如
T t = new T(); // compiling error
5.2 不能实例化类型参数的数组
T[] ts = new T[10]; //compilation error
5.3 类的静态变量不能声明为类型参数类型
public class GenClass<T> {
    private static T t; // compiling error
}
5.4 范型类不能继承自Throwable以及其子类
public GenExpection<T> extends Exception{} // compiling error

The artical in dW.