4
重命名为extends Comparable[A]
为extends Ordered[A]
,并将def compareTo
重命名为def compare
足够了,还是有什么我应该照顾的?如何将实现java.lang.Comparable的类转换为实现Scala.Ordered?
重命名为extends Comparable[A]
为extends Ordered[A]
,并将def compareTo
重命名为def compare
足够了,还是有什么我应该照顾的?如何将实现java.lang.Comparable的类转换为实现Scala.Ordered?
你是对的,这就是你需要做的。在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
方法来定义。如果以上是您想要的其他比较,应该可以工作。
太好了,谢谢! – soc 2010-12-23 14:55:39