2010-09-27 133 views

回答

4

Comparable使对象本质上与其他对象相媲美。

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

例如,你有Collections.sort(list),它可以只排序实现Comparable,同时还有另一种方法对象的列表 - Collections.sort(list, comparator),通过它可以进行排序任何列表。

0

在概念意义上,比较器是“比较运算符”,即逻辑,用于确定“比较”是否比另一个“比较”更大/更小。 PS:我在比较运算符中使用术语“运算符”,而不是松散地;因为它们不是操作符,因为符号(例如<)在句法上分配给操作。

从更实际的角度来看,Comparable允许Object确定如何与另一个Object进行比较。而比较器允许程序员确定如何比较两个对象。