java.util.Comparator和java.lang.Comparable这两个接口有什么不同? 如题,感觉两个接口差不多,都会重写. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Comparable表示内在、自然的顺序。Comparator特别的需求。比如发表鸟语论文时,作者署名按字母排序,这里使用属于Comparable,若是某人认为自己年龄大/职位高必须排在前,就需要使用Comparator了。 那为什么要重写Comparable里面的方法呢? Comparable接口一般应用于实体类。实现一个默认的排序。Comparator接口是来弥补Comparable的不足。假设你当前实体类的默认排序不符合我的要求,而这里我又无法修改你的源码/又或者一个集合对象我可以需要N种排序Comparable接口是无法全部满足的。那么我就选择新建一个类实现Comparator接口去排序。 public int compareTo(T o);int compare(T o1, T o2);看看这二个接口的方法就有很大不同了,前者一般是将this对象和参数对象对比,后者是将二个参数作比较对象通常是作为一个比较器使用 不知道这个编译警告是什么意思?请大哥们赐教... 到底创造了几个对象??关于string的。 webwork对页面名字相同,action中为list如何保存? 超菜的问题(java) Ftp在NAT环境下得到的客户端IP怎么会是局域网中的IP啊? 如何让tableItem从头开始填数据? 为什么显示'javac' 不是内部或外部命令,也不是可运行的程序 请教各位高手一个有关同步的问题! 如何利用Applet访问数据库? 谁给我讲一下应用服务器? 抽象方法的问题? 为什么代码中尽量少出现"123".equals(str)这样的危险字符???
Comparator接口是来弥补Comparable的不足。
假设你当前实体类的默认排序不符合我的要求,而这里我又无法修改你的源码/又或者一个集合对象我可以需要N种排序Comparable接口是无法全部满足的。
那么我就选择新建一个类实现Comparator接口去排序。
int compare(T o1, T o2);
看看这二个接口的方法就有很大不同了,前者一般是将this对象和参数对象对比,后者是将二个参数作比较对象通常是作为一个比较器使用