首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java.util.Comparator和java.lang.Comparable这两个接口有什么不同?该如何解决

2012-03-04 
java.util.Comparator和java.lang.Comparable这两个接口有什么不同?如题,感觉两个接口差不多,都会重写.[解

java.util.Comparator和java.lang.Comparable这两个接口有什么不同?
如题,感觉两个接口差不多,都会重写.

[解决办法]
Comparable接口一般应用于实体类。实现一个默认的排序。
Comparator接口是来弥补Comparable的不足。
假设你当前实体类的默认排序不符合我的要求,而这里我又无法修改你的源码/又或者一个集合对象我可以需要N种排序Comparable接口是无法全部满足的。
那么我就选择新建一个类实现Comparator接口去排序。
[解决办法]
public int compareTo(T o);
int compare(T o1, T o2);
看看这二个接口的方法就有很大不同了,前者一般是将this对象和参数对象对比,后者是将二个参数作比较对象通常是作为一个比较器使用

热点排行