Spec-Zone.ru › Scala 2.13 Library

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

implicit объект String extends StringOrdering

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

Члены типа

класс OrderingOps extends AnyRef

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

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

Значения членов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

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

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел он возвращает значение хэша, которое соответствует равенству значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернёт одно и то же значение хэша. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.

возвращает

значение хэша, согласованное с ==

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

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

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

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

final def asInstanceOf[T0]: T0

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

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

возвращает

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

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

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

def clone(): AnyRef

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

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

возвращает

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

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

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

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

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

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

    отрицательный, если x < yположительный, если x > yноль, в противном случае (если x == y)
Определяющие классы
StringOrdering → Ordering → Comparator

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).

возвращает

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

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

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.

См. также equals в scala.Any.

возвращает

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

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

def equiv(x: String, y: String): Boolean

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

Определяющие классы
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: String, y: String): Boolean

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

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

def gteq(x: String, y: String): 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: String, y: String): Boolean

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

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

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

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

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

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

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

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

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

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

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

implicit def mkOrderingOps(lhs: String): 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) => String): 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[String]): Ordering[String]

Создает 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: (String) => S)(implicit ord: Ordering[S]): Ordering[String]

Учитывая 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[String]

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

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

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

def reversed(): Comparator[String]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def toString(): String

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

возвращает

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

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

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

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

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

final def wait(): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Определяющие классы
AnyRef
Аннотации
@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$$String$.html

Spec-Zone.ru

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