当前位置: 代码迷 >> 综合 >> T和?是什么 ?有什么区别?
  详细解决方案

T和?是什么 ?有什么区别?

热度:98   发布时间:2024-01-25 04:32:49.0

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 一般用来声明泛型类和泛型方法