界面扩展可比

时间:2010-09-27 10:20:38

标签: java

  

可能重复:
  Java: What is the difference between implementing Comparable and Comparator?

可比较的接口和比较器接口之间的差异以及使用位置?示例?

2 个答案:

答案 0 :(得分:4)

Comparable使一个对象本质上与其他对象相当。

Comparator允许实现外部比较逻辑,该逻辑可应用于非Comparable的对象,或者需要与其默认比较逻辑不同的逻辑。

例如,您有Collections.sort(list),它只能对实现Comparable的对象列表进行排序,而另一种方法是Collections.sort(list, comparator),您可以通过该方法对任何列表进行排序。< / p>

答案 1 :(得分:0)

在概念上,比较器是“比较运算符”,即逻辑,用于确定Comparable是否大于/小于另一个Comparable。

PS:我在比较运算符中使用的术语“运算符”相当松散;因为他们不是操作符,因为符号(例如&lt;)在语法上分配给操作。

在更实际的意义上,Comparable允许Object确定如何将自己与另一个Object进行比较。而Comparator允许程序员确定如何比较两个对象。