Generics概念及详解:
1.引入泛型的原因:
--泛型提供编译时类型检测,防止了ClassCastException异常。
--增加代码的健壮性,可以在编译时发现bug
2.泛型的继承与通配符
继承:interface MyList<E,T> extends List<E>
--父类的类型会直接被子类继承,在此基础上,
子类也可带着继承与父类的类型,自作扩展
通配符:通配符上限
List<? extend Number>
--说明当前List设置了通配符的上限是Number,
所以List可用Number下的任何类型,e.g. Integer/Double
3.泛型类型擦除
--由编译器来进行擦除,即移除所有泛型类型检查代码,并加入必要的类型转换。
--保证不添加新的类,提高运行时效率