泛型中T和?的区别是什么

cerry 2009-04-08 11:13:55
public <T extends Object> void thisIsT(List<T> list){

}



public void thisIsP(List<? extends Object> list){

}


这两者有什么区别呀?
...全文
12464 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigbigwife 2012-10-25
  • 打赏
  • 举报
回复
还是迷糊,自己写代码测试为王道
javagongcheng 2011-05-13
  • 打赏
  • 举报
回复
有时间来看.. 呵呵
  • 打赏
  • 举报
回复
呵呵,懂了!!!
unixxinu 2010-02-24
  • 打赏
  • 举报
回复
学习了.都是高手!!!!!!!!!!!!!!!!!
dawn023 2009-04-09
  • 打赏
  • 举报
回复
从JVM的角度看,两者也没什么区别。这些只是语言层面的概念。
心如刀割 2009-04-09
  • 打赏
  • 举报
回复
学习了。。
flyingsky1006 2009-04-09
  • 打赏
  • 举报
回复
学习
然月枕流君 2009-04-09
  • 打赏
  • 举报
回复
?随意用,T要用类名泛型引入才能应用;
都是任何类
__浮夸 2009-04-09
  • 打赏
  • 举报
回复
受教了,正在看<Java编程思想>,上边的泛型写的挺深入的。我是新手,看的好吃力啊
BrainStorm_Chang 2009-04-08
  • 打赏
  • 举报
回复
cerry 2009-04-08
  • 打赏
  • 举报
回复
猴子达人还是简明扼要的讲一下吧....
justinavril 2009-04-08
  • 打赏
  • 举报
回复
说来话长,看链接:
http://www.ibm.com/developerworks/cn/java/j-djc02113/
myairland 2009-04-08
  • 打赏
  • 举报
回复
MARK
xxm712 2009-04-08
  • 打赏
  • 举报
回复
学习了
heavilyarmed 2009-04-08
  • 打赏
  • 举报
回复
jason0806 2009-04-08
  • 打赏
  • 举报
回复
?是什么????
胡须棉花糖 2009-04-08
  • 打赏
  • 举报
回复
好好学习
great1681 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 cerry 的回复:]
引用 16 楼 tlowl 的回复:
原来的代码有点错误,下面的我试了,没报错。
import java.util.*;

class CollectionGenFoo <T extends Collection> {
private T x;
public CollectionGenFoo(T x) {
this.x = x;
}
}

public class TestGeneric
{
public static void main(String[] args)
{
CollectionGenFoo <? extends Collection> listFoo = new CollectionGenFoo <ArrayList>(new ArrayList(…
[/Quote]

这是因为:
<T extends Collection>其中,限定了构造此类实例的时候T是一个确定类型(具体类型),这个类型实现了Collection接口,
但是实现 Collection接口的类很多很多,如果针对每一种都要写出具体的子类类型,那也太麻烦了,干脆还不如用
Object通用一下。
<? extends Collection>其中,?是一个未知类型,是一个通配符泛型,这个类型是实现Collection接口即可。
skycc999 2009-04-08
  • 打赏
  • 举报
回复
好帖就要顶起来,支持解惑文章!
IT农夫 2009-04-08
  • 打赏
  • 举报
回复
T代表一个已知类型,?的意思是未知
加载更多回复(18)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧