List<T> 和 List<?>分别代表什么意思

如题那是否可以理解List<?>=List?以下代码在能编译通过List<?>getList(){//...returnnull;}... 如题
那是否可以理解List<?> = List ?
以下代码在能编译通过
List<?> getList(){
//...
return null;
}
展开
 我来答
教育达人小嫣
高能答主

2019-11-21 · 为您解答教育方面的问题。
教育达人小嫣
采纳数:2401 获赞数:816352

向TA提问 私信TA
展开全部

List<T> 通常指的是泛型的一种情况,而List<?>的使用是在不确定返回的集合泛型是什么类型的情况下所采用的一种方式。?表示是无限制的通配符。参数是可以任何的类型。List<T> list =new List<T>()。

泛型的定义主要有以下两种:

1、在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)

2、在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(人们大多把这称作模板)不论使用哪个定义,泛型的参数在真正使用泛型时都必须作出指明。

扩展资料

泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。
尽管减少强制类型转换可以降低使用泛型类的代码的罗嗦程度,但是声明泛型变量会带来相应的罗嗦。比较下面两个代码例子。

泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。尽管减少强制类型转换可以降低使用泛型类的代码的罗嗦程度,但是声明泛型变量会带来相应的罗嗦。比较下面两个代码例子。

该代码不使用泛型:

List li = new ArrayList();

li.put(new Integer(3));

Integer i = (Integer) li.get(0);

该代码使用泛型:

List<Integer> li = new ArrayList<Integer>();

li.put(new Integer(3));

Integer i = li.get(0)。

Jseven_jy
推荐于2017-11-23 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1142万
展开全部
T 代表某一类型 ? 代表任意类型。。

T因为代表是某一确定类型。。所以你可以使用它。。
比如你有个List<T>类型的变量tList 你可以用T t = tList.get(1);也可以用add但是?可以是任意类型。。你不能进行那种与他里面装的东西的类型有关的操作。。比如add get等。。其中get只能复制给object类型。add甚至连object都不能用。。因为他可以是任意类型。。编译器不能确定他是什么类型。。
但前者编译器知道他的类型是T。。

我说的是调用List里的get 和add方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
river9113
2010-07-04 · TA获得超过147个赞
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
没什么区别,List<?>应该是出现在讲解的示例里吧与标准的List<T>,?和T都是用来标识一个未定义类型的占位符,是jdk1.5出来的泛型,其中包括泛型方法、泛型类、泛型接口等
List<T> 换成 List<Student> list = new ArrayList<Student>();
这个时候list集合就只能装Student类型的值了,你就比喻成家里的装物箱,原本装物箱啥东西都可以往里放,里边的东西装杂了,你去找或取就不方便;这时你就把装物箱分类进行装不同的物品,你想想分类后你要找物品不就容易多啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shiva1981
2010-07-03 · TA获得超过773个赞
知道小有建树答主
回答量:638
采纳率:0%
帮助的人:761万
展开全部
应该没有List<?>的,有List<? extends T>这样的
List<T>的意思是List的元素都是T这个类型的,List<? extends T>的意思是List的元素是T或者T的子类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式