参考的资料:《码》P85以及6.5节
1.泛型
由JDK1.5诞生,本质类型参数化,解决不确定具体对象类型的问题。
好处:类型安全、提升可读性、代码重用
2.泛型继承
List<? extends T>,可以赋值给任何T及T的父类集合,下界为T。消费集合元素为主的场景,适用于取元素。
3.泛型擦除(向前兼容,抹掉特性、代码复杂)
1)泛型在定义处只具备执行Object方法的能力
2)对于编译之后的字节码指令,方法签名为引用类型的都会为Object,说明泛型只是一种编写代码时的语法检查
3)指定了上限(extend)在字节码指令会被替换成类型上限