午夜拍键惊奇
子夜 编程 代码与我同在
posts - 48,comments - 118,trackbacks - 79
java.util.Collections 类中两个sort方法的定义很奇怪,哪位能给解释一下:

public static <T> void sort(List<T> list,  Comparator<? super T> c)
1、既然该方法无返回值(void),第一个“<T>”有什么作用?
2、“?”代表什么含义?
3、“super”起什么作用?
4、基于2、3:“<? super T>”如何理解?

public static <T extends Comparable<? super T>> void sort(List<T> list)
1、“extends”如何理解?
2、其余同上
posted on 2005-10-19 18:14 ^ Mustang ^ 阅读(1442) 评论(1)  编辑  收藏 所属分类: Java 点滴

FeedBack:
# re: 奇怪的范型定义
2005-10-19 20:38 | Flair@ZJU
1.JAVA Generic Methods的定义就是这样子的。类型变量放在modifiers的后面,返回值的前面。
2.super就是类继承中使用的关键字。
3.'?'的含义是any。在这个例子里面就是all supertype of T。
4.extends关键字在这里用来限制类型T必须实现Comparable接口(subtype of T)。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: