黑马程序员技术交流社区

标题: 关于泛型上下限的问题 [打印本页]

作者: 薛旻    时间: 2014-3-5 10:35
标题: 关于泛型上下限的问题

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



作者: asvsass    时间: 2014-3-5 12:47
?代表任意类型
在泛型中super说明:<? super T> ?代表一种"特定"的类型,且此类型是T类型的父类或T类型
在泛型中extends的说明:<? extends T> ?表示一种特定的类型,且是T类型的一种"特定"的子类
作者: 王松松    时间: 2014-3-5 12:59
通配符“ ?”与< T >的区别?
a)通配符“ ?”不需要声明,但是 T 需要另外声明< T >
b)T 可以当做具体数据类型来使用,但是“ ?”不可以
c)当 T  或者“?”使用在集合中时,不能调用和泛型参数有关的方法,否则会出错
      原因:无法通过方法调用转换将实际参数类型转换为 T 或 ?

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2