黑马程序员技术交流社区
标题:
两种泛型写法有什么区别?
[打印本页]
作者:
一木榜公
时间:
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