trait Ordered[A] extends java.lang.Comparable[A] {
def compare(that: A): Int
def < (that: A): Boolean = (this compare that) < 0
def > (that: A): Boolean = (this compare that) > 0
def <= (that: A): Boolean = (this compare that) <= 0
def >= (that: A): Boolean = (this compare that) >= 0
def compareTo(that: A): Int = compare(that)
}
同时拥有compare
和compareTo
是否有点无用?
我在这里失踪的巨大好处是什么?
如果他们刚刚使用compareTo
,我可以在代码中将Comparable
替换为Ordered
并完成。
答案 0 :(得分:10)
我认为这是一次历史性事故。 Ordered
最初未继承自Comparable
。完成后,compare
名称已经建立。
答案 1 :(得分:1)
我认为Scala库的作者更喜欢名称compare()。