Объект scala.math.Ordering
Компаньон трейт Ordering
объект Ordering extends LowPriorityOrderingImplicits with java.io.Serializable
Типовые члены
типAsComparable[A] = (A) => Comparable[_ >: A]
- Определяющие классы
- LowPriorityOrderingImplicits
трейтBigDecimalOrdering extends Ordering[BigDecimal]
трейтBigIntOrdering extends Ordering[BigInt]
трейтBooleanOrdering extends Ordering[Boolean]
трейтByteOrdering extends Ordering[Byte]
запечатанный трейтCachedReverse[T] extends Ordering[T]
трейтCharOrdering extends Ordering[Char]
трейтExtraImplicits extends AnyRef
трейтIntOrdering extends Ordering[Int]
трейтLongOrdering extends Ordering[Long]
трейтOptionOrdering[T] extends Ordering[Option[T]]
трейтShortOrdering extends Ordering[Short]
трейтStringOrdering extends Ordering[String]
трейтSymbolOrdering extends Ordering[Symbol]
трейтUnitOrdering extends Ordering[Unit]
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает значение хеша, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, то ## вернёт одно и то же значение хеша для каждой из них. Для null возвращает хешкод, где null.hashCode выбрасывает NullPointerException.
- returns
значение хеша, согласованное с ==
- Definition Classes
- AnyRef → Any
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
implicit def Option[T](implicit ord: Ordering[T]): Ordering[Option[T]]
implicit def Tuple2[T1, T2](implicit ord1: Ordering[T1], ord2: Ordering[T2]): Ordering[(T1, T2)]
implicit def Tuple3[T1, T2, T3](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3]): Ordering[(T1, T2, T3)]
implicit def Tuple4[T1, T2, T3, T4](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4]): Ordering[(T1, T2, T3, T4)]
implicit def Tuple5[T1, T2, T3, T4, T5](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5]): Ordering[(T1, T2, T3, T4, T5)]
implicit def Tuple6[T1, T2, T3, T4, T5, T6](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6]): Ordering[(T1, T2, T3, T4, T5, T6)]
неявный def Tuple7[T1, T2, T3, T4, T5, T6, T7](неявный ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7]): Ordering[(T1, T2, T3, T4, T5, T6, T7)]
неявный def Tuple8[T1, T2, T3, T4, T5, T6, T7, T8](неявный ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7], ord8: Ordering[T8]): Ordering[(T1, T2, T3, T4, T5, T6, T7, T8)]
неявный def Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](неявный ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7], ord8: Ordering[T8], ord9: Ordering[T9]): Ordering[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]
def apply[T](неявный ord: Ordering[T]): Ordering[T]
- Annotations
- @inline()
final def asInstanceOf[T0]: T0
Приведение типа получаемого объекта к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от правил стирания Scala. Таким образом, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит ошибку. В последнем примере, так как тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка требуемому типу.
- возвращает
объект-получатель.
- Определяющие классы
- Any
- Исключения
ClassCastException, если получаемый объект не является экземпляром стираемого типаT0.
def by[T, S](f: (T) => S)(неявный ord: Ordering[S]): Ordering[T]
Взяв f, функцию от T к S, создает Ordering[T], чья функция сравнения эквивалентна:
def compare(x:T, y:T) = Ordering[S].compare(f(x), f(y))
Эта функция аналогична Ordering.on, где параметр Ordering[S] передается неявно.
def clone(): AnyRef
Создать копию объекта-приёмника.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-приёмника.
implicit def comparatorToOrdering[A](implicit cmp: Comparator[A]): Ordering[A]
- Definition Classes
- LowPriorityOrderingImplicits
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-приёмник (this).
Метод eq реализует отношение эквивалентности на не-нулевых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых не-нулевых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true.
При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение соответствовало равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2 ), они должны быть равны друг другу (o1 == o2 ) и они должны иметь одинаковое хэш-значение (o1.hashCode == o2.hashCode ).
- returns
trueесли аргумент является ссылкой на объект-приёмник;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: AnyRef): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- returns
trueесли объект-приёмник эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def finalize(): Unit
Вызывается сборщиком мусора для объекта-приёмника, когда больше нет ссылок на объект.
Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
def fromLessThan[T](cmp: (T, T) => Boolean): Ordering[T]
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу времени выполнения получателя.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- returns
значение хэш-кода для этого объекта.
final def isInstanceOf[T0]: Boolean
Проверка, является ли динамический тип объекта-приёмника T0.
Обратите внимание, что результат проверки модульный относительно семантики стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается в ходе компиляции, нельзя проверить, содержат ли элементы списка указанный тип.
- returns
trueесли объект-приёмник является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-приёмник;falseв противном случае.
- Definition Classes
- AnyRef
final def notify(): Unit
Разбуживает единственную нить, ожидающую монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS в качестве члена AnyRef
final def notifyAll(): Unit
Разбуживает все нити, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS в качестве члена AnyRef
implicit def ordered[A](implicit asComparable: AsComparable[A]): Ordering[A]
Это бы вступило в конфликт со всеми удобными неявными Orderings, но благодаря магии упорядоченных неявных типов через наследование мы можем заставить Ordered[A] => Ordering[A] появиться только если ничего другого не сработает. Так как Ordered[A] в любом случае расширяет Comparable[A], мы можем добавить и поддержку Java.
- Definition Classes
- LowPriorityOrderingImplicits
final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- returns
строковое представление объекта.
- Definition Classes
- AnyRef → Any
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
implicit object BigDecimal extends BigDecimalOrdering
implicit object BigInt extends BigIntOrdering
implicit object Boolean extends BooleanOrdering
implicit object Byte extends ByteOrdering
implicit object Char extends CharOrdering
object Double
object Float
object Implicits extends ExtraImplicits
implicit object Int extends IntOrdering with CachedReverse[Int]
implicit object Long extends LongOrdering
implicit object Short extends ShortOrdering
явное объект String extends StringOrdering
явное объект Symbol extends SymbolOrdering
явное объект Unit extends UnitOrdering
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/math/Ordering$.html
Это объект-компаньон для трейта scala.math.Ordering.
Он содержит множество неявных упорядочений, а также методы для построения новых упорядочений.