如何转换实现java.lang.Comparable的类来实现Scala.Ordered?

时间:2010-12-23 14:37:00

标签: java scala programming-languages interop comparison

是将extends Comparable[A]重命名为extends Ordered[A]并将def compareTo重命名为def compare还是有什么我应该照顾的?

1 个答案:

答案 0 :(得分:7)

你是对的,这就是你需要做的。 Ordered中的其他方法将使用其默认实现,如下所示:

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)

Ordered中唯一没有默认实现的是比较,您将使用旧的compareTo方法定义。应该工作,只要上面是你想要的其他比较。