Spec-Zone.ru › Scala 2.13 Library

Объект scala.math.Ordering.Symbol

явный объект Symbol extends SymbolOrdering

Источник
Ordering.scala
Линейные супертипы
SymbolOrdering, Ordering[Symbol], PartialOrdering[Symbol], Equiv[Symbol], java.io.Serializable, Comparator[Symbol], AnyRef, Any

Типовые члены

класс OrderingOps extends AnyRef

Этот вложенный класс определяет операторы сравнения, доступные для T.

Определяющие классы
Ordering

Члены-значения

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

final def asInstanceOf[T0]: T0

Преобразовать объект-получатель к типу T0.

Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.

returns

объект-получатель.

Definition Classes
Any
Исключения

ClassCastException, если объект-получатель не является экземпляром стирания типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

Значение по умолчанию метода clone зависит от платформы.

returns

копия объекта-получателя.

Атрибуты
protected[java.lang]
Definition Classes
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не указано SLS как член AnyRef

def compare(x: Symbol, y: Symbol): Int

Возвращает целое число, знак которого указывает, как x сравнивается с y.

Знак результата имеет следующее значение:

    отрицательный, если x < yположительный, если x > yноль, иначе (если x == y)
Definition Classes
SymbolOrdering → Ordering → Comparator

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра 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 equiv(x: Symbol, y: Symbol): Boolean

Возвращает true, если x == y в порядке.

Definition Classes
Ordering → PartialOrdering → Equiv

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.

Подробности о том, когда и будет ли вызван метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указано в SLS как член AnyRef

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def gt(x: Symbol, y: Symbol): Boolean

Возвращает true, если x > y в порядке сортировки.

Определяющие классы
Ordering → PartialOrdering

def gteq(x: Symbol, y: Symbol): Boolean

Возвращает true, если x >= y в порядке сортировки.

Определяющие классы
Ordering → PartialOrdering

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

хеш-код для этого объекта.

Определяющие классы
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверить, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат теста выполняется с учетом семантики стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. Во втором примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, являются ли элементы списка указанного типа.

возвращает

true, если объект-получатель является экземпляром стирания типа T0; false в противном случае.

Определяющие классы
Any

def isReverseOf(other: Ordering[_]): Boolean

Возвращает, является ли другой порядок обратным порядком этого.

Эквивалентно other == this.reverse.

Реализации должны переопределять этот метод только в том случае, если они также переопределяют reverse.

Определяющие классы
Ordering

def lt(x: Symbol, y: Symbol): Boolean

Возвращает true, если x < y в порядке сортировки.

Определяющие классы
Ordering → PartialOrdering

def lteq(x: Symbol, y: Symbol): Boolean

Возвращает true, если x <= y в порядке сортировки.

Определяющие классы
Ordering → PartialOrdering

def max[U <: Symbol](x: U, y: U): U

Возвращает x, если x >= y, иначе y.

Определяющие классы
Ordering

def min[U <: Symbol](x: U, y: U): U

Возвращает x, если x <= y, иначе y.

Определяющие классы
Ordering

implicit def mkOrderingOps(lhs: Symbol): OrderingOps

Этот неявный метод дополняет T операторами сравнения, определёнными в scala.math.Ordering.Ops.

Классы-определения
Ordering

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true , если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы-определения
AnyRef

final def notify(): Unit

Разбуживает один поток, ожидающий монитора объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указан SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указан SLS как член AnyRef

def on[U](f: (U) => Symbol): Ordering[U]

На основе функции f, отображающей U в T, создаёт Ordering[U], чья функция сравнения эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Классы-определения
Ordering

def orElse(other: Ordering[Symbol]): Ordering[Symbol]

Создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она не равна нулю, иначе результат функции сравнения other.

other

Ordering для использования, если этот Ordering возвращает ноль

Классы-определения
Ordering
Пример:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElse(Ordering.by[Pair, Int](_.b))

def orElseBy[S](f: (Symbol) => S)(implicit ord: Ordering[S]): Ordering[Symbol]

На основе функции f, отображающей T в S, создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она не равна нулю, иначе результат, эквивалентный:

Ordering[S].compare(f(x), f(y))

Эта функция эквивалентна передаче результата Ordering.by(f) в orElse.

Классы-определения
Ordering
Пример:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElseBy[Int](_.b)

def reverse: Ordering[Symbol]

Возвращает обратный порядок.

Реализации, переопределяющие этот метод, ДОЛЖНЫ также переопределить isReverseOf, если они изменяют поведение (например, кэширование не требует переопределения).

Классы-определения
Ordering → PartialOrdering

def reversed(): Comparator[Symbol]

Классы-определения
Comparator

final def synchronized[T0](arg0: => T0): T0

Классы-определения
AnyRef

def thenComparing[U <: Comparable[_ >: U <: AnyRef]](arg0: java.util.function.Function[_ >: Symbol <: AnyRef, _ <: U]): Comparator[Symbol]

Классы-определения
Comparator

def thenComparing[U <: AnyRef](arg0: java.util.function.Function[_ >: Symbol <: AnyRef, _ <: U], arg1: Comparator[_ >: U <: AnyRef]): Comparator[Symbol]

Классы-определения
Comparator

def thenComparing(arg0: Comparator[_ >: Symbol <: AnyRef]): Comparator[Symbol]

Definition Classes
Comparator

def thenComparingDouble(arg0: ToDoubleFunction[_ >: Symbol <: AnyRef]): Comparator[Symbol]

Definition Classes
Comparator

def thenComparingInt(arg0: ToIntFunction[_ >: Symbol <: AnyRef]): Comparator[Symbol]

Definition Classes
Comparator

def thenComparingLong(arg0: ToLongFunction[_ >: Symbol <: AnyRef]): Comparator[Symbol]

Definition Classes
Comparator

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Definition Classes
AnyRef → Any

def tryCompare(x: Symbol, y: Symbol): Some[Int]

Возвращает, определено ли сравнение между x и y, и если да, то результат compare(x, y).

Definition Classes
Ordering → PartialOrdering

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 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$$Symbol$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API