T表示的是一种类型
?是指通配符 泛指所有类
T和?运用的地方不一样 ?一般定义在引用变量上 T一般作用于方法上或者类上
如果有泛型的方法和非泛型的方法都满足条件时,会优先执行非泛型的方法
泛型三种:
[1]ArrayList<T> al=new ArrayList<T>();指定集合元素只能是T类型
[2]ArrayList<?> al=new ArrayList<?>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法
[3]ArrayList<? extends E> al=new ArrayList<? extends E>();
泛型的限定:
? extends E:接收E类型或者E的子类型。
?super E:接收E类型或者E的父类型。
java泛型的两种用法:List<T>是泛型方法,List<?>是限制通配符
?一般在泛型中起一个限制作用
T 一般用来声明泛型类和泛型方法