1.泛型类型参数不能创建实例
例如 E oE = new E();
java中没法得到泛型参数化类型,因为在编译期没法确定泛型参数化类型,也就找不到对应的类字节码文件
2.泛型类型参数不能创建数组,泛型类不能创建数组
例如
E[] oE = new E[10];
ArrayList[] list = new ArrayList[10];
防止破坏类型安全
解释:
http://www.blogjava.net/sean/archive/2005/08/09/9630.html
https://www.zhihu.com/question/20928981
thx
3.异常类不能是泛型的
例如public class MyException extends Exception{}
在运行时类型信息是被擦除了的,catch中只能得到所有的MyException,是无法区分MyException和MyException的