Spec-Zone.ru › Scala 3.2

Класс FiniteDuration.FiniteDuration

Объект-компаньон • Исходный код

final class FiniteDuration(val length: Long, val unit: TimeUnit) extends Duration

Этот класс представляет конечную продолжительность. Его операторы сложения и вычитания перегружены, чтобы сохранить это гарантированно статически. Диапазон этого класса ограничен +-(2^63-1)ns, which is roughly 292 years.

Суперагрегаты
класс Duration
тракт Ordered[Duration]
тракт Comparable[Duration]
тракт Serializable
класс Object
тракт Matchable
класс Any

Конкретные методы

Исходный код
def *(factor: Double): Duration

Возвращает эту продолжительность, умноженную на скалярный множитель. При использовании бесконечных множителей семантика соответствует семантике Double.

$ovf

Исходный код
def *(factor: Long): FiniteDuration

Возвращает произведение этой продолжительности и данного целочисленного множителя.

Исключения
IllegalArgumentException

если результат превысит диапазон FiniteDuration

Исходный код
def +(other: Duration): Duration

Возвращает сумму этой продолжительности и другой. При использовании бесконечных слагаемых семантика соответствует семантике Double.

$ovf

Исходный код
def +(other: FiniteDuration): FiniteDuration

Исходный код
def -(other: Duration): Duration

Возвращает разность этой продолжительности и другой. При использовании бесконечных слагаемых семантика соответствует семантике Double.

$ovf

Исходный код
def -(other: FiniteDuration): FiniteDuration

Исходный код
def /(divisor: Double): Duration

Возвращает эту продолжительность, деленную на скалярный множитель. При использовании бесконечных множителей семантика соответствует семантике Double.

$ovf

Исходный код
def /(divisor: Duration): Double

Возвращает частное этой и другой продолжительности как число с плавающей запятой. Семантика определяется Double, как если бы вычислялось частное длины в наносекундах обоих множителей.

Исходный код
def /(divisor: Long): FiniteDuration

Возвращает частное этой продолжительности и данного целочисленного множителя.

Исключения
java.lang.ArithmeticException

если множитель равен 0

Исходный код
def compare(other: Duration): Int

Результат сравнения this с операндом that.

Реализуйте этот метод, чтобы определить, как будут сортироваться экземпляры А.

Возвращает x, где:

  • x < 0 когда this < that

  • x == 0 когда this == that

  • x > 0 когда this > that

Исходный код
def div(divisor: Long): FiniteDuration

Возвращает частное этой продолжительности и данного целочисленного множителя.

Исключения
java.lang.ArithmeticException

если множитель равен 0

Исходный код
override def equals(other: Any): Boolean

Сравнивает объект получателя (this) с аргументом (that) для эквивалентности.

Любая реализация этого метода должна быть отношением эквивалентности:

- Рефлексивно: для любого экземпляра x типа Any, x.equals(x) должно возвращать true. - Симметрично: для любых экземпляров x и y типа Any, x.equals(y) должно возвращать true тогда и только тогда, когда y.equals(x) возвращает true. - Транзитивно: для любых экземпляров x, y, и z типа Any если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должно возвращать true.

Если вы переопределяете этот метод, вы должны убедиться, что ваша реализация остается отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы гарантировать, что объекты, которые "равны" (o1.equals(o2) возвращает true), имеют одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)).

Параметры
that

объект для сравнения с этим объектом на равенство.

Возвращает

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

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

Исходный код
def fromNow: Deadline

Создает Deadline из этой продолжительности, добавив её к текущему моменту времени Deadline.now.

Исходный код
override def hashCode: Int

Вычисляет хэш-код для объекта.

Алгоритм хэширования по умолчанию зависит от платформы.

Заметим, что для двух объектов возможны одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)), но при этом они могут не быть равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), они имели одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.

Возвращает

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

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

Исходный код
final def isFinite: Boolean

Этот метод возвращает значение, указывающее, является ли эта продолжительность конечной, что не то же самое, что !isInfinite для Double, так как этот метод также возвращает false для Duration.Undefined.

Исходный код
def max(other: FiniteDuration): FiniteDuration

Исходный код
def min(other: FiniteDuration): FiniteDuration

Источник
def minus(other: FiniteDuration): FiniteDuration

Источник
def mul(factor: Long): FiniteDuration

Возвращает произведение этого интервала времени и заданного целочисленного множителя.

Выбрасывает
IllegalArgumentException

если результат выходит за пределы диапазона FiniteDuration

Источник
def plus(other: FiniteDuration): FiniteDuration

Источник
final override def toCoarsest: FiniteDuration

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

Примеры:

Duration(60, MINUTES).toCoarsest // Duration(1, HOURS)
Duration(1000, MILLISECONDS).toCoarsest // Duration(1, SECONDS)
Duration(48, HOURS).toCoarsest // Duration(2, DAYS)
Duration(5, SECONDS).toCoarsest // Duration(5, SECONDS)
Классы-определения Duration

Источник
def toDays: Long

Возвращает длительность этого интервала времени в целых днях, округляя к нулю.

$exc

Источник
def toHours: Long

Возвращает длительность этого интервала времени в целых часах, округляя к нулю.

$exc

Источник
def toMicros: Long

Возвращает длительность этого интервала времени в целых микросекундах, округляя к нулю.

$exc

Источник
def toMillis: Long

Возвращает длительность этого интервала времени в целых миллисекундах, округляя к нулю.

$exc

Источник
def toMinutes: Long

Возвращает длительность этого интервала времени в целых минутах, округляя к нулю.

$exc

Источник
def toNanos: Long

Возвращает длительность этого интервала времени в целых наносекундах, округляя к нулю.

$exc

Источник
def toSeconds: Long

Возвращает длительность этого интервала времени в целых секундах, округляя к нулю.

$exc

Источник
override def toString: String

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

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

Возвращает

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

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

Источник
def toUnit(u: TimeUnit): Double

Возвращает количество наносекунд в виде числа с плавающей точкой, масштабированное до заданной единицы измерения. Результат может не точно представлять этот интервал времени из-за ограничений типа данных Double (размер мантиссы 53 бита). Неопределенные интервалы времени представлены как - Duration.Undefined отображается как Double.NaN - Duration.Inf отображается как Double.PositiveInfinity - Duration.MinusInf отображается как Double.NegativeInfinity

Источник
def unary_-: Duration

Изменить знак этого интервала времени. Единственные два значения, которые отображаются сами на себя, это Duration.Zero и Duration.Undefined.

Методы-наследники

Источник
def <(that: Duration): Boolean

Возвращает true, если this меньше, чем that

Унаследовано от Ordered

Источник
def <=(that: Duration): Boolean

Возвращает true, если this меньше или равно that.

Унаследовано от Ordered

Источник
def >(that: Duration): Boolean

Возвращает true, если this больше, чем that.

Унаследовано от Ordered

Источник
def >=(that: Duration): Boolean

Возвращает true, если this больше или равно that.

Унаследовано от Ordered

Источник
def compareTo(that: Duration): Int

Результат сравнения this с операндом that.

Унаследовано от Ordered

Источник
def div(other: Duration): Double

Возвращает частное этого и данного интервала времени в виде числа с плавающей точкой. Семантика определяется типом Double, как если бы вычислялось частное от длины в наносекундах обоих факторов.

Унаследовано от Duration

Источник
def div(divisor: Double): Duration

Возвращает этот интервал времени, деленный на скалярный множитель. При использовании бесконечных множителей семантика соответствует семантике Double.

Выбрасывает
IllegalArgumentException

в случае конечного переполнения: диапазон конечного интервала времени составляет +-(2^63-1)ns, and no conversion to infinite durations takes place.

Унаследовано от Duration

Источник
def gt(other: Duration): Boolean

Унаследовано от Duration

Источник
def gteq(other: Duration): Boolean

Унаследовано от Duration

Источник
def lt(other: Duration): Boolean

Унаследовано от Duration

Source
def lteq(other: Duration): Boolean

Inherited from Duration

Source
def max(other: Duration): Duration

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

Inherited from Duration

Source
def min(other: Duration): Duration

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

Inherited from Duration

Source
def minus(other: Duration): Duration

Возвращает разность заданной продолжительности и этой. При работе с бесконечными слагаемыми семантика соответствует семантике Double.

Throws
IllegalArgumentException

в случае конечного переполнения: диапазон конечной продолжительности — +-(2^63-1)ns, and no conversion to infinite durations takes place.

Inherited from Duration

Source
def mul(factor: Double): Duration

Возвращает эту продолжительность, умноженную на скалярный множитель. При работе с бесконечными множителями семантика соответствует семантике Double.

Throws
IllegalArgumentException

в случае конечного переполнения: диапазон конечной продолжительности — +-(2^63-1)ns, and no conversion to infinite durations takes place.

Inherited from Duration

Source
def neg(): Duration

Изменяет знак этой продолжительности. Единственные два значения, которые отображаются на себя, — Duration.Zero и Duration.Undefined.

Inherited from Duration

Source
def plus(other: Duration): Duration

Возвращает сумму заданной продолжительности и этой. При работе с бесконечными слагаемыми семантика соответствует семантике Double.

Throws
IllegalArgumentException

в случае конечного переполнения: диапазон конечной продолжительности — +-(2^63-1)ns, and no conversion to infinite durations takes place.

Inherited from Duration

Конкретные поля

Source
val length: Long

Получить длительность этой продолжительности, измеренной в единице, полученной методом unit.

$exc

Source
val unit: TimeUnit

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

$exc

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/concurrent/duration/FiniteDuration.html

Spec-Zone.ru

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