1、T为指定实体类型,可限制类型使用 <T extends E>
2、T表示自定义泛型,T类型可以直接使用,类中直接对T进行操作
3、?表示通配符泛型,?类型不能直接使用
只能对通用泛型的数据进行获取,或者移除,不能新增或者修改。
<? extends Object> 等价于 <?>
4、泛型的限定:
? extends E:接收E类型或者E的子类型
? super E:接收E类型或者E的父类型
5、区别和类型
表示不确定的java类型
T (type) 表示具体的一个java类型
K V (key value) 分别代表java键值中的Key Value
E (element) 代表Element
6、示例
public Class<?> clazz; // 写法正确
public Class<T> clazz;// 写法错误
7、java可变参数本质上就是某种类型的一个数组,可以穿指定类型多个参数,也可以传递声明的数据对象