可能重复:?
Java: What is the difference between implementing Comparable and Comparator?接口扩展可比
可比接口和比较器接口,并且其中使用实例之间的差异?
可能重复:?
Java: What is the difference between implementing Comparable and Comparator?接口扩展可比
可比接口和比较器接口,并且其中使用实例之间的差异?
Comparable
使对象本质上与其他对象相媲美。
Comparator
允许实现外部比较逻辑,该逻辑可以应用于非Comparable
的对象,或者需要与默认比较逻辑不同的逻辑。
例如,你有Collections.sort(list)
,它可以只排序实现Comparable
,同时还有另一种方法对象的列表 - Collections.sort(list, comparator)
,通过它可以进行排序任何列表。
在概念意义上,比较器是“比较运算符”,即逻辑,用于确定“比较”是否比另一个“比较”更大/更小。 PS:我在比较运算符中使用术语“运算符”,而不是松散地;因为它们不是操作符,因为符号(例如<)在句法上分配给操作。
从更实际的角度来看,Comparable允许Object确定如何与另一个Object进行比较。而比较器允许程序员确定如何比较两个对象。
你是否尝试自己找到这个?你坚持什么观点? – 2010-09-27 10:23:01
可能的重复:http://stackoverflow.com/questions/1440134/java-what-is-the-difference-between-implementing-comparable-and-comparator – Ash 2010-09-27 10:23:41