黑马程序员技术交流社区

标题: 泛型 限制有关 [打印本页]

作者: ㄗs:/|丶hearts    时间: 2013-6-3 21:06
标题: 泛型 限制有关
本帖最后由 ㄗs:/|丶hearts 于 2013-6-6 20:42 编辑

public static <T extends Comparable<? super T>> void sort(List<T> list) 这个方法中
<T extends Comparable<? super T>> 这个是什么意思
求解释呀  越详细越好
作者: 贺靖轩    时间: 2013-6-3 22:09
public static <T extends Comparable<? super T>> void sort(List<T> list)
                 <T extends Comparable<? super T>  表示该方法是一个泛型方法
                 这里出现的T,是为了在编绎时限定入参中(List<T> list)中T的范围,也就是对List集合可以放入的对象的限定

T extends Comparable
                表示T应该是 Comparable本身或其子类,
                 鉴于Comparable为一个接口,此处的含义应变为:
                T应该是 Comparable接口本身或其实现类
Comparable<? super T>(个人理解,正误难断,求高手)
                表示该接口的类型为T?而T又是作为集合List中存放的对象存在的,显然不可能
                或者是T类型的超类,接口显然也是超类之一
                因此可以理解为T类型必须实现了Comparable接口

综上:意思可以理解为:T类型为Comparable接口,或者实现了Comparable接口的类,也就限定了List<T>这个集合中对象的的类型。

               





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