泛型上下界
java的泛型基于类型擦除机制
super 类型下界通配符
List中只能存储一种元素,此处声明的
<!--? super BaseDemoEntity-->
,表明这个List中存放的元素属于 BaseDemoEntity 其中一种 父类类型BaseDemoEntity的父类可能有复数个,比如 Object,BaseEntity。取出时不知道到底List里到底装的啥,但一定是继承于Object,所以统一强转为Object类型
存入时只能放入 BaseDemoEntity 和它的子类,因为声明的
<!--? super BaseDemoEntity-->
,BaseDemoEntity 可以被安全的强转为<!--? super BaseDemoEntity-->
此处如果传入BaseDemoEntity的父类,那么运行时jvm将传入的类型转为<!--? super BaseDemoEntity-->
时可能会因为类型不一致报错
1 |
|
extends 类型上界通配符
<!--? extends BaseDemoEntity-->
=> BaseDemoEntity的任意一种子类List中只能存储一种元素,此处声明的
<!--? extends BaseDemoEntity-->
表明这个List中存放的元素可能是继承与 BaseDemoEntity 的 其中一种 元素取出时可以被安全的强转为 BaseDemoEntity
存入时由于不知道你存入的类型是否跟
<!--? extends BaseDemoEntity-->
类型是一个类型,因此不能存入
1 |
|