Spec-Zone.ru › Scala 2.13 Library

Трейт scala.math.Numeric

Компаньон объект Numeric

трейт Numeric[T] extends Ordering[T]

Источник
Numeric.scala
Линейные супертипы
Ordering[T], PartialOrdering[T], Equiv[T], java.io.Serializable, Comparator[T], AnyRef, Any
Известные подклассы
Fractional, Integral, BigDecimalAsIfIntegral, BigDecimalAsIfIntegral, BigDecimalIsConflicted, BigDecimalIsFractional, BigDecimalIsFractional, BigIntIsIntegral, BigIntIsIntegral, ByteIsIntegral, ByteIsIntegral, CharIsIntegral, CharIsIntegral, DoubleIsFractional, DoubleIsFractional, FloatIsFractional, FloatIsFractional, IntIsIntegral, IntIsIntegral, LongIsIntegral, LongIsIntegral, ShortIsIntegral, ShortIsIntegral

Члены типов

класс NumericOps extends AnyRef

класс OrderingOps extends AnyRef

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

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

Абстрактные члены-значения

абстрактный def compare(x: T, y: T): Int

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

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

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

абстрактный def fromInt(x: Int): T

абстрактный def minus(x: T, y: T): T

абстрактный def negate(x: T): T

абстрактный def parseString(str: String): Option[T]

абстрактный def plus(x: T, y: T): T

абстрактный def times(x: T, y: T): T

абстрактный def toDouble(x: T): Double

абстрактный def toFloat(x: T): Float

абстрактный def toInt(x: T): Int

абстрактный def toLong(x: T): Long

Члены конкретных значений

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), в противном случае false.

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

final def ##(): Int

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

возвращает

значение хэша, соответствующее ==

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

def +(other: String): String

Неявное
Этот член добавлен неявным преобразованием из Numeric[T] вany2stringadd[Numeric[T]], выполненное методом any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (Numeric[T], B)

Неявное
Этот член добавлен неявным преобразованием из Numeric[T] вArrowAssoc[Numeric[T]], выполненное методом ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

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

возвращает

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

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

def abs(x: T): T

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 ensuring(cond: (Numeric[T]) => Boolean, msg: => Any): Numeric[T]

Неявное
Этот член добавлен неявным преобразованием из Numeric[T] вEnsuring[Numeric[T]], выполненное методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (Numeric[T]) => Boolean): Numeric[T]

Неявный
Этот член добавлен неявным преобразованием из Numeric[T] вEnsuring[Numeric[T]] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean, msg: => Any): Numeric[T]

Неявный
Этот член добавлен неявным преобразованием из Numeric[T] вEnsuring[Numeric[T]] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean): Numeric[T]

Неявный
Этот член добавлен неявным преобразованием из Numeric[T] вEnsuring[Numeric[T]] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

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: T, y: T): Boolean

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

Классы определений
Ordering → PartialOrdering → Equiv

def finalize(): Unit

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

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

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

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

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки формата аналогичны для String.format (@см. java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из Numeric[T] вStringFormat[Numeric[T]] с помощью метода StringFormat в scala.Predef.
Классы определений
StringFormat
Аннотации
@inline()

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

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

возвращает

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

Классы определений
AnyRef → Any
Аннотации
@native()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

implicit def mkNumericOps(lhs: T): NumericOps

implicit def mkOrderingOps(lhs: T): 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

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

Definition Classes
AnyRef
Annotations
@native()
Note

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

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

Принимая f, функцию от U к T, создает Ordering[U], функция сравнения которого эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Definition Classes
Ordering

def one: T

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

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

other

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

Definition Classes
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: (T) => S)(implicit ord: Ordering[S]): Ordering[T]

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

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

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

Definition Classes
Ordering
Пример:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElseBy[Int](_.b)

def reverse: Ordering[T]

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

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

Definition Classes
Ordering → PartialOrdering

def reversed(): Comparator[T]

Definition Classes
Comparator

def sign(x: T): T

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

Definition Classes
AnyRef

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

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

def toString(): String

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

возвращает

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

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

def tryCompare(x: T, y: T): 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()

def zero: T

© 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/Numeric.html

Spec-Zone.ru

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