A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 薛旻 中级黑马   /  2014-3-5 10:35  /  816 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


? extends T
? super T
这三个的区别,这三个具体用在哪些情况?


评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

2 个回复

倒序浏览
?代表任意类型
在泛型中super说明:<? super T> ?代表一种"特定"的类型,且此类型是T类型的父类或T类型
在泛型中extends的说明:<? extends T> ?表示一种特定的类型,且是T类型的一种"特定"的子类

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
通配符“ ?”与< T >的区别?
a)通配符“ ?”不需要声明,但是 T 需要另外声明< T >
b)T 可以当做具体数据类型来使用,但是“ ?”不可以
c)当 T  或者“?”使用在集合中时,不能调用和泛型参数有关的方法,否则会出错
      原因:无法通过方法调用转换将实际参数类型转换为 T 或 ?

泛型限定:
a)?——通配符,也可以理解为占位符
b)泛型上限:<? extends  E>,表示可以接受E类型或者E类型的子类型
c)泛型下限:<?    super    E>,表示可以接受E类型或者E类型的父类型

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马