黑马程序员技术交流社区

标题: 两种泛型写法有什么区别? [打印本页]

作者: 一木榜公    时间: 2013-7-18 11:01
标题: 两种泛型写法有什么区别?
本帖最后由 杨兴庭 于 2013-7-18 21:20 编辑

public static <T> int halfSearch(List<? extends Comparable<? super T>>   list, T   key)

public static<T extends Comparable<? super T>> int halfSearch(List<T>  list, T t)


这两种方法区别在哪里?

作者: 杨兴庭    时间: 2013-7-18 12:07
泛型上下限。。。。
上限:T 的父类Comparable类的其他对象也可以装进List中
下限:集合中只能装T类型对象
作者: 一木榜公    时间: 2013-7-18 18:48
杨兴庭 发表于 2013-7-18 12:07
泛型上下限。。。。
上限:T 的父类Comparable类的其他对象也可以装进List中
下限:集合中只能装T类型对象 ...

哥们谢了,我想到另外一种理解:
1,   public static <T> int halfSearch(List<Q> list,   T t)   其中Q extends Comparable<? super T>

2,  public static <T> int halfSearch(List<T> list,   T t)   其中T extends Comparable<? super T>

以数学函数的思想来理解
1,  f(T,Q)    当Q   < =  Comparable<? super T> 时,函数有意义

2,f(T)   当T  <=  Comparable<? super T>时,函数有意义


其中设 Z =  Comparable<? super T> 则   Comparable<Z>   >=  Comparable<T>

其中大于号,小于号可以理解为:大的一边是小的一边的父类





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