Spec-Zone.ru › Scala 2.12 Library

Объект scala.concurrent.duration.Duration

Компаньон класс Duration

объект Duration extends Serializable

Источник
Duration.scala
Линейные супертипы

Члены типа

sealed abstract class Infinite extends Duration

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

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

val Inf: Infinite

Бесконечная длительность: больше любой другой (кроме Undefined) и не равна ни одной другой, кроме себя. Это значение тесно связано с Double.PositiveInfinity, соответствуя его семантике в арифметических операциях.

val MinusInf: Infinite

Бесконечная длительность: меньше любой другой и не равна ни одной другой, кроме себя. Это значение тесно связано с Double.NegativeInfinity, соответствуя его семантике в арифметических операциях.

val Undefined: Infinite

Значение Undefined тесно связано с Double.NaN:

    это результат в противном случае недопустимых операцийне равно самому себе (в соответствии с equals())сравнивается больше, чем любая другая Duration, кроме себя (для которой compare возвращает 0)

Конкретная семантика сравнения отражает семантику Double.NaN.

Используйте eq при проверке входных данных метода на это значение.

val Zero: FiniteDuration

def apply(s: String): Duration

Разбор строки в Duration. Формат "<length><unit>", где пробелы разрешены перед, между и после частей. Бесконечности обозначаются "Inf", "PlusInf", "+Inf" и "-Inf" или "MinusInf".

Исключения

NumberFormatException, если формат не может быть разобран

def apply(length: Long, unit: String): FiniteDuration

Построение конечной длительности из заданной длины и единицы времени, где последняя ищется в списке строковых представлений. Допустимые варианты:

d, day, h, hour, min, minute, s, sec, second, ms, milli, millisecond, µs, micro, microsecond, ns, nano, nanosecond и их множественные формы (для всех, кроме первого указанного вида каждой единицы, т. е. нет "ds", но "days").

def apply(length: Long, unit: TimeUnit): FiniteDuration

Построение конечной длительности из заданной длины и единицы времени. Приведенная единица сохраняется в вычислениях как можно дольше, чтобы ее можно было извлечь позже.

def apply(length: Double, unit: TimeUnit): Duration

Построение Duration из заданной длины и единицы. Обратите внимание, что точность наносекунд может быть потеряна, если

    единица - NANOSECONDS, а длина имеет абсолютное значение больше 2^53

Входные данные бесконечности (и NaN) преобразуются в Duration.Inf, Duration.MinusInf и Duration.Undefined соответственно.

Исключения

IllegalArgumentException, если длина была конечной, но полученная длительность не может быть выражена как FiniteDuration

final def asInstanceOf[T0]: T0

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

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

возвращает

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

Классы определений
Any
Исключения

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

def clone(): AnyRef

Создать копию объекта-приёмника.

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

returns

копия объекта-приёмника.

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

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

def create(s: String): Duration

Парсинг строки в Duration. Формат "<length><unit>", где пробелы допускаются перед, между и после частей. Бесконечности обозначаются "Inf", "PlusInf", "+Inf" и "-Inf" или "MinusInf".

Исключения

NumberFormatException, если формат не может быть распарсен

def create(length: Long, unit: String): FiniteDuration

Построение конечного интервала времени из заданной длины и единицы измерения, которая определяется по списку строковых представлений. Допустимые значения:

d, day, h, hour, min, minute, s, sec, second, ms, milli, millisecond, µs, micro, microsecond, ns, nano, nanosecond и их множественные формы (для всех, кроме первой указанной формы каждой единицы измерения, т. е. нет "ds", но есть "days").

def create(length: Double, unit: TimeUnit): Duration

Построение Duration из заданной длины и единицы измерения. Обратите внимание, что точность наносекунд может быть потеряна, если

    единица измерения равна NANOSECONDS, а длина имеет абсолютное значение, большее 2^53

Бесконечные значения (и NaN) преобразуются в Duration.Inf, Duration.MinusInf и Duration.Undefined соответственно.

Исключения

IllegalArgumentException, если длина была конечной, но полученный интервал времени не может быть выражен как FiniteDuration

def create(length: Long, unit: TimeUnit): FiniteDuration

Построение конечного интервала времени из заданной длины и единицы измерения. Заданная единица измерения сохраняется в вычислениях как можно дольше, чтобы её можно было получить позже.

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 в противном случае.

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

def equals(arg0: Any): Boolean

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

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

returns

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

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

def finalize(): Unit

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

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

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

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

def fromNanos(nanos: Long): FiniteDuration

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

Исключения

IllegalArgumentException для Long.MinValue, так как это приведёт к несогласованному поведению в дальнейшем (не может быть отрицательным)

def fromNanos(nanos: Double): Duration

Создайте, возможно, бесконечную или неопределённую продолжительность из заданного количества наносекунд.

    Double.PositiveInfinity сопоставлено с Duration.Inf Double.NegativeInfinity сопоставлено с Duration.MinusInf Double.NaN сопоставлено с Duration.Undefined -0d сопоставлено с Duration.Zero (точно так же, как 0d)

Семантика получаемых объектов Duration соответствует семантике их эквивалентов Double относительно арифметических операций.

Исключения

IllegalArgumentException, если длина была конечной, но полученная продолжительность не может быть выражена как FiniteDuration

final def getClass(): Class[_]

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

возвращает

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

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

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

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

final def synchronized[T0](arg0: ⇒ T0): T0

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

val timeUnit: Map[String, TimeUnit]

Атрибуты
protected[duration]

val timeUnitName: Map[TimeUnit, String]

Атрибуты
protected[duration]

def toString(): String

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

возвращает

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

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

def unapply(d: Duration): Option[(Long, TimeUnit)]

def unapply(s: String): Option[(Long, TimeUnit)]

Извлечь длительность и единицу измерения времени из строки, где формат должен соответствовать описанию для apply(String). Экстрактор не будет соответствовать неправильным строкам или неконечным продолжительностям.

final def wait(): Unit

Классы-определения
AnyRef
Аннотации
@throws( ... )

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

Классы-определения
AnyRef
Аннотации
@throws( ... )

final def wait(arg0: Long): Unit

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

implicit object DurationIsOrdered extends Ordering[Duration]

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/concurrent/duration/Duration$.html

Spec-Zone.ru

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