为了账号安全,请及时绑定邮箱和手机立即绑定

Java:Comparable vs Comparator

Java:Comparable vs Comparator

陪伴而非守候 2019-07-23 16:48:52
Java:Comparable vs Comparator Comparable和Comparator之间的关键区别是什么?哪些情况比哪一种更受欢迎?谢谢更新 - 良好的链接与示例!http://www.digizol.com/2008/07/java-sorting-comparator-vs-comparable.html
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

当您的类实现Comparable时,该类的compareTo方法定义该对象的“自然”排序。该方法在合同上有义务(尽管不要求)与该对象上的其他方法一致,例如当.equals()比较返回true 时,应始终为对象返回0 。

一个比较本身就是如何比较两个对象的定义,可用于可能不与自然顺序排列的方式来比较的对象。

例如,字符串通常按字母顺序进行比较。因此,"a".compareTo("b")将使用字母比较。如果你想比较Strings的长度,你需要编写一个自定义比较器。

简而言之,没有太大区别。他们是类似手段的两端。一般来说,自然顺序可以比较,(自然顺序定义显然可以解释),并为其他排序或比较需求编写比较器。


查看完整回答
反对 回复 2019-07-23
?
守候你守候我

TA贡献1802条经验 获得超10个赞

Comparator 提供了一种为您无法控制的类型提供自定义比较逻辑的方法。

Comparable 允许您指定比较实现的对象的方式。

显然,如果您无法控制某个类(或者您希望提供多种方法来比较您可以控制的对象),那么请使用Comparator

否则你可以使用Comparable


查看完整回答
反对 回复 2019-07-23
  • 2 回答
  • 0 关注
  • 363 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号