分别是什么意思?有什么不同?

yangtaian 2009-03-25 11:21:09
困扰了很久的问题,一直没有解决,谁能提供一些详细的内容?
...全文
726 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxf15506906012 2011-09-09
  • 打赏
  • 举报
回复
如果你有《java编程思想》详见泛型哪一章 有几节专讲?通配符的用法和区别!
gxf15506906012 2011-09-09
  • 打赏
  • 举报
回复
.<? extends T>首先你很容易误解它为继承于T的所有类的集合,这是大错特错的,相信能看下去你一定见过或用过List<? extends T>吧?为什么我说理解成一个集合是错呢?如果理解成一个集合那为什么不用List<T>来表示?所以<? extends T>不是一个集合,而是T的某一种子类的意思,记住是一种,单一的一种,问题来了,由于连哪一种都不确定,带来了不确定性,所以是不可能通过add()来加入元素。你或许还觉得为什么add(T)不行?因为<? extends T>是T的某种子类,能放入子类的容器不一定放入超类,也就是没可能放入T。
2.<? super T>这里比较容易使用,没<? extends T>这么多限制,这里的意思是,以T类为下限的某种类,简单地说就是T类的超类。但为什么add(T)可以呢?因为能放入某一类的容器一定可以放入其子类,多态的概念
  • 打赏
  • 举报
回复
http://tech.techweb.com.cn/thread-382604-1-1.html
  • 打赏
  • 举报
回复
六楼理解有误,而且是很有误。。。
http://wenwen.soso.com/z/q113521062.htm
不过我还是不太懂,等待。。。
containsoft123 2009-08-09
  • 打赏
  • 举报
回复
我的理解:
<? extends T> T和T的子类。
<? super T> T和T的父类。
  • 打赏
  • 举报
回复
比如说要把一个采用泛型的 List,把其中的元素都添加到另一个 List 中去,就可以采用这样的方式原形。

public static <T> void copy (List<? extends T> src, List<? super T> dest)

yangtaian 2009-03-25
  • 打赏
  • 举报
回复
自己想过一下,会不会是这样:
定义一个类的时候,用<T extends SomeClass1>{}
使用一个实现了泛型的类时,用<? super SomeCLass2>
zhoushaolan 2009-03-25
  • 打赏
  • 举报
回复
学习,莫非这就是泛型的操作?帮顶...

62,614

社区成员

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

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