ordered.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 54 行
SCALA
54 行
/* __ *\** ________ ___ / / ___ Scala API **** / __/ __// _ | / / / _ | (c) 2003-2008, LAMP/EPFL **** __\ \/ /__/ __ |/ /__/ __ | **** /____/\___/_/ |_/____/_/ | | **** |/ **\* */// $Id: Ordered.scala 14418 2008-03-19 08:49:52Z washburn $package scala/** A trait for totally ordered data. * * Note that since version 2006-07-24 this trait is no longer covariant in a. * * It is important that the equals method for an instance of * Ordered[A] be consistent with the compare method. However, * due to limitations inherent in the type erasure semantics, * there is no reasonable way to provide a default implementation * of equality for instances of Ordered[A]. Therefore, if you need * to be able to use equality on an instance of Ordered[A] you must * provide it yourself either when inheiriting or instantiating. * * It is important that the hashCode method for an instance of * Ordered[A] be consistent with the compare method. However, * it is not possible to provide a sensible default implementation. * Therefore, if you need to be able compute the hash of an * instance of Ordered[A] you must provide it yourself either when * inheiriting or instantiating. * * @author Martin Odersky * @version 1.1, 2006-07-24 */trait Ordered[A] { /** Result of comparing <code>this</code> with operand <code>that</code>. * returns <code>x</code> where * <code>x < 0</code> iff <code>this < that</code> * <code>x == 0</code> iff <code>this == that</code> * <code>x > 0</code> iff <code>this > that</code> */ 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)}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?