Spec-Zone.ru › OpenJDK 27

Класс Duration

java.lang.Object
javax.xml.datatype.Duration
public abstract class Duration extends Object

Неизменяемое представление временного интервала, определённое в спецификации W3C XML Schema 1.0.

Объект Duration представляет период времени по григорианскому календарю, состоящий из шести полей (годы, месяцы, дни, часы, минуты и секунды), а также поля знака (+/-).

Первые пять полей содержат неотрицательные целые числа (>=0) или null (что означает, что поле не задано), а поле секунд содержит неотрицательное десятичное число или null. Отрицательный знак указывает на отрицательную длительность.

Этот класс предоставляет ряд методов, упрощающих работу с типом данных duration из XML Schema 1.0 с учётом исправлений.

Отношение порядка

Для объектов Duration задан только частичный порядок: два значения A и B могут соотноситься одним из следующих способов:

  1. A<B (A короче B)
  2. A>B (A длиннее B)
  3. A==B (длительности A и B одинаковы)
  4. A<>B (сравнение A и B неопределено)

Например, 30 дней нельзя содержательно сравнить с одним месяцем. Метод compare(Duration duration) реализует это отношение.

Подробнее об отношении порядка между объектами Duration см. в методе isLongerThan(Duration).

Операции над Duration

Этот класс предоставляет набор основных арифметических операций, таких как сложение, вычитание и умножение. Поскольку для длительностей не задан полный порядок, некоторые комбинации операций могут завершиться неудачей. Например, нельзя вычесть 15 дней из 1 месяца. Подробные условия, при которых это может произойти, см. в документации соответствующих методов.

Деление длительности на число также не предоставляется, поскольку класс Duration может работать только с десятичными числами конечной точности. Например, нельзя представить 1 секунду, делённую на 3.

Однако деление на 3 можно заменить умножением на такие числа, как 0.3 или 0.333.

Допустимый диапазон значений

Поскольку некоторые операции с Duration зависят от Calendar, хотя Duration может хранить очень большие или очень малые значения, некоторые методы могут работать некорректно с такими объектами Duration. В документации методов, на которые это влияет, указана их зависимость от Calendar.

Начиная с:
1.5
См. также:
  • XMLGregorianCalendar.add(Duration)

Краткое описание конструкторов

Конструктор Описание
Duration()
Конструктор без аргументов по умолчанию.

Краткое описание методов

Модификатор и тип Метод Описание
abstract Duration add(Duration rhs)
Вычисляет новую длительность со значением this+rhs.
abstract void addTo(Calendar calendar)
Добавляет эту длительность к объекту Calendar.
void addTo(Date date)
Добавляет эту длительность к объекту Date.
abstract int compare(Duration duration)
Сравнивает по отношению частичного порядка с этим экземпляром Duration.
boolean equals(Object duration)
Проверяет, равна ли длительность этого объекта длительности другого объекта Duration.
int getDays()
Возвращает значение поля DAYS как целое число или 0, если поле не задано.
abstract Number getField(DatatypeConstants.Field field)
Возвращает значение поля.
int getHours()
Возвращает значение поля HOURS как целое число или 0, если поле не задано.
int getMinutes()
Возвращает значение поля MINUTES как целое число или 0, если поле не задано.
int getMonths()
Возвращает значение поля MONTHS как целое число или 0, если поле не задано.
int getSeconds()
Возвращает значение поля SECONDS как целое число или 0, если поле не задано.
abstract int getSign()
Возвращает знак этой длительности: -1, 0 или 1.
long getTimeInMillis(Calendar startInstant)
Возвращает длительность в миллисекундах.
long getTimeInMillis(Date startInstant)
Возвращает длительность в миллисекундах.
QName getXMLSchemaType()
Возвращает имя типа даты/времени XML Schema, которому соответствует этот экземпляр.
int getYears()
Возвращает значение лет этого Duration как int или 0, если поле не задано.
abstract int hashCode()
Возвращает хеш-код, согласованный с определением метода equals.
boolean isLongerThan(Duration duration)
Проверяет, строго ли длительность этого объекта превышает длительность другого объекта Duration.
abstract boolean isSet(DatatypeConstants.Field field)
Проверяет, задано ли поле.
boolean isShorterThan(Duration duration)
Проверяет, строго ли длительность этого объекта меньше длительности другого объекта Duration.
Duration multiply(int factor)
Вычисляет новую длительность, значение которой в factor раз больше значения этой длительности.
abstract Duration multiply(BigDecimal factor)
Вычисляет новую длительность, значение которой в factor раз больше значения этой длительности.
abstract Duration negate()
Возвращает новый объект Duration со значением -this.
abstract Duration normalizeWith(Calendar startTimeInstant)
Преобразует поля лет и месяцев в поле дней, используя конкретный момент времени в качестве точки отсчёта.
Duration subtract(Duration rhs)
Вычисляет новую длительность со значением this-rhs.
String toString()
Возвращает строковое представление этого Duration Object в формате String.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

Duration

public Duration()
Конструктор по умолчанию без аргументов.

Примечание: всегда используйте DatatypeFactory для создания экземпляра Duration. Нельзя гарантировать, что конструктор этого класса создаст объект в согласованном состоянии; в будущем он может быть удалён.

Подробное описание методов

getXMLSchemaType

public QName getXMLSchemaType()
Возвращает имя типа даты и времени XML Schema, которому соответствует этот экземпляр. Тип определяется по установленным полям, то есть isSet(DatatypeConstants.Field field) == true.
Обязательные поля для типов даты и времени XML Schema 1.0.
(часовой пояс необязателен для всех типов даты и времени)
Тип данных год месяц день час минута секунда
DatatypeConstants.DURATION X X X X X X
DatatypeConstants.DURATION_DAYTIME X X X X
DatatypeConstants.DURATION_YEARMONTH X X
Возвращает:
одну из следующих констант: DatatypeConstants.DURATION, DatatypeConstants.DURATION_DAYTIME или DatatypeConstants.DURATION_YEARMONTH.
Выбрасывает:
IllegalStateException — если сочетание установленных полей не соответствует ни одному из типов даты и времени XML Schema.

getSign

public abstract int getSign()
Возвращает знак этой длительности: -1, 0 или 1.
Возвращает:
-1, если эта длительность отрицательна, 0, если она равна нулю, и 1, если она положительна.

getYears

public int getYears()
Возвращает значение поля лет этой Duration в виде int или 0, если оно отсутствует.

getYears() — это удобный метод для вызова getField(DatatypeConstants.YEARS).

Поскольку возвращаемое значение имеет тип int, для Durations, количество лет в которых выходит за пределы диапазона int, будет возвращено некорректное значение. Во избежание возможной потери точности используйте getField(DatatypeConstants.YEARS).

Возвращает:
Если поле лет присутствует, возвращает его значение в виде int, иначе возвращает 0.

getMonths

public int getMonths()
Возвращает значение поля MONTHS в виде целого числа или 0, если оно отсутствует. Этот метод работает так же, как getYears(), но применяется к полю MONTHS.
Возвращает:
Количество месяцев этой Duration.

getDays

public int getDays()
Возвращает значение поля DAYS в виде целого числа или 0, если оно отсутствует. Этот метод работает так же, как getYears(), но применяется к полю DAYS.
Возвращает:
Количество дней этой Duration.

getHours

public int getHours()
Возвращает значение поля HOURS в виде целого числа или 0, если оно отсутствует. Этот метод работает так же, как getYears(), но применяется к полю HOURS.
Возвращает:
Количество часов этой Duration.

getMinutes

public int getMinutes()
Возвращает значение поля MINUTES в виде целого числа или 0, если оно отсутствует. Этот метод работает так же, как getYears(), но применяется к полю MINUTES.
Возвращает:
Количество минут этой Duration.

getSeconds

public int getSeconds()
Возвращает значение поля SECONDS в виде целого числа или 0, если оно отсутствует. Этот метод работает так же, как getYears(), но применяется к полю SECONDS.
Возвращает:
целое значение секунд. Дробная часть секунд отбрасывается (например, если фактическое значение равно 2.5, этот метод возвращает 2)

getTimeInMillis

public long getTimeInMillis(Calendar startInstant)
Возвращает длительность в миллисекундах.

Если поле секунд содержит больше цифр, чем допускает точность до миллисекунд, они просто отбрасываются (иначе говоря, округляются до нуля). Например, для любого значения Calendar x,

new Duration("PT10.00099S").getTimeInMills(x) == 10000
new Duration("-PT10.00099S").getTimeInMills(x) == -10000

Обратите внимание, что этот метод использует метод addTo(Calendar), который может работать некорректно с объектами Duration, поля которых содержат очень большие значения. Подробности см. в описании метода addTo(Calendar).

Параметры:
startInstant — длительность месяца или года может меняться. Для устранения этой неоднозначности используется startInstant. В частности, этот метод возвращает разницу между startInstant и startInstant+duration
Возвращает:
количество миллисекунд между startInstant и startInstant плюс эта Duration
Выбрасывает:
NullPointerException — если параметр startInstant равен null.

getTimeInMillis

public long getTimeInMillis(Date startInstant)
Возвращает длительность в миллисекундах.

Если поле секунд содержит больше цифр, чем допускает точность до миллисекунд, они просто отбрасываются (иначе говоря, округляются до нуля). Например, для любого значения Date x,

new Duration("PT10.00099S").getTimeInMills(x) == 10000
new Duration("-PT10.00099S").getTimeInMills(x) == -10000

Обратите внимание, что этот метод использует метод addTo(Date), который может работать некорректно с объектами Duration, поля которых содержат очень большие значения. Подробности см. в описании метода addTo(Date).

Параметры:
startInstant — длительность месяца или года может меняться. Для устранения этой неоднозначности используется startInstant. В частности, этот метод возвращает разницу между startInstant и startInstant+duration.
Возвращает:
количество миллисекунд между startInstant и startInstant плюс эта Duration
Выбрасывает:
NullPointerException — если параметр startInstant равен null.
См. также:
  • getTimeInMillis(Calendar)

getField

public abstract Number getField(DatatypeConstants.Field field)
Возвращает значение поля. Поля объекта длительности могут содержать сколь угодно большие значения. Поэтому этот метод возвращает объект Number. Для YEARS, MONTHS, DAYS, HOURS и MINUTES возвращаемое число будет неотрицательным целым числом. Для секунд возвращаемое число может быть неотрицательным десятичным числом.
Параметры:
field — одна из шести констант Field (YEARS, MONTHS, DAYS, HOURS, MINUTES или SECONDS).
Возвращает:
Если указанное поле присутствует, метод возвращает ненулевой неотрицательный объект Number, представляющий его значение. Если поле отсутствует, возвращает null. Для YEARS, MONTHS, DAYS, HOURS и MINUTES этот метод возвращает объект BigInteger. Для SECONDS этот метод возвращает объект BigDecimal.
Выбрасывает:
NullPointerException — если field равен null.

isSet

public abstract boolean isSet(DatatypeConstants.Field field)
Проверяет, установлено ли поле. Поле объекта длительности может присутствовать или отсутствовать. Этот метод позволяет проверить, присутствует ли поле.
Параметры:
field — одна из шести констант Field (YEARS, MONTHS, DAYS, HOURS, MINUTES или SECONDS).
Возвращает:
true, если поле присутствует; false — если отсутствует.
Выбрасывает:
NullPointerException — если параметр field равен null.

add

public abstract Duration add(Duration rhs)
Вычисляет новую длительность, значение которой равно this+rhs.

Например:

"1 day" + "-3 days" = "-2 days"
"1 year" + "1 day" = "1 year and 1 day"
"-(1 hour,50 minutes)" + "-20 minutes" = "-(1 hours,70 minutes)"
"15 hours" + "-3 days" = "-(2 days,9 hours)"
"1 year" + "-1 day" = IllegalStateException

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

Формально вычисление определяется следующим образом.

Сначала можно без потери общности предположить, что обе складываемые Durations положительны (то есть (-X)+Y=Y-X, X+(-Y)=X-Y, (-X)+(-Y)=-(X+Y)).

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

Поле результирующей Duration не будет установлено тогда и только тогда, когда соответствующие поля обеих входных Durations не установлены.

Обратите внимание, что lhs.add(rhs) всегда завершается успешно, если lhs.signum()*rhs.signum()!=-1 или обе длительности нормализованы.

Параметры:
rhs — Duration, которую нужно прибавить к этой Duration
Возвращает:
корректный ненулевой объект Duration.
Выбрасывает:
NullPointerException — если параметр rhs равен null.
IllegalStateException — если две длительности нельзя осмысленно сложить. Например, при прибавлении минус одного дня к одному месяцу возникает это исключение.
См. также:
  • subtract(Duration)

addTo

public abstract void addTo(Calendar calendar)
Прибавляет эту длительность к объекту Calendar.

Вызывает Calendar.add(int,int) для присутствующих полей в следующем порядке: YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS и MILLISECONDS. Поскольку класс Calendar использует тип int для хранения значений, в некоторых случаях этот метод работает некорректно (например, если значения полей выходят за пределы диапазона int).

Кроме того, поскольку этот класс длительности представляет григорианскую длительность, метод работает некорректно, если переданный объект Calendar основан на другой календарной системе.

Все дробные части этого объекта Duration, превышающие миллисекунды, просто игнорируются. Например, если эта длительность равна "P1.23456S", к SECONDS будет прибавлено 1, к MILLISECONDS — 234, а оставшаяся часть не будет использована.

Обратите внимание: поскольку Calendar.add(int, int) использует int, значения Duration, выходящие за пределы диапазона int в полях, приведут к переполнению/недополнению переданного объекта Calendar. Метод XMLGregorianCalendar.add(Duration) выполняет ту же основную операцию, что и этот метод, и при этом позволяет избежать проблем переполнения/недополнения.

Параметры:
calendar — объект календаря, значение которого будет изменено.
Выбрасывает:
NullPointerException — если параметр calendar равен null.

addTo

public void addTo(Date date)
Прибавляет эту длительность к объекту Date.

Сначала переданная дата преобразуется в GregorianCalendar, затем к ней прибавляется длительность — точно так же, как в методе addTo(Calendar).

Затем полученный момент времени преобразуется обратно в объект Date и используется для обновления переданного объекта Date.

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

Параметры:
date — объект даты, значение которого будет изменено.
Выбрасывает:
NullPointerException — если параметр date равен null.

subtract

public Duration subtract(Duration rhs)
Вычисляет новую длительность, значение которой равно this-rhs.

Например:

"1 day" - "-3 days" = "4 days"
"1 year" - "1 day" = IllegalStateException
"-(1 hour,50 minutes)" - "-20 minutes" = "-(1hours,30 minutes)"
"15 hours" - "-3 days" = "3 days and 15 hours"
"1 year" - "-1 day" = "1 year and 1 day"

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

Формально вычисление определяется следующим образом. Сначала можно без потери общности предположить, что обе Durations положительны (то есть (-X)-Y=-(X+Y), X-(-Y)=X+Y, (-X)-(-Y)=-(X-Y)).

Затем две длительности вычитаются по полям. Если знак любого ненулевого поля F отличается от знака наиболее значимого поля, из следующей более крупной единицы F заимствуется 1 (если F отрицательно) или -1 (в противном случае).

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

Если заимствование происходит в поле дней (то есть если для компенсации дней необходимо заимствовать 1 или -1 месяц), вычисление завершается ошибкой: выбрасывается IllegalStateException.

Параметры:
rhs — Duration, которую нужно вычесть из этой Duration.
Возвращает:
Новая Duration, полученная вычитанием rhs из этой Duration.
Выбрасывает:
IllegalStateException — если две длительности нельзя осмысленно вычесть. Например, при вычитании одного дня из одного месяца возникает это исключение.
NullPointerException — если параметр rhs равен null.
См. также:
  • add(Duration)

multiply

public Duration multiply(int factor)
Вычисляет новую длительность, значение которой в factor раз больше значения этой длительности.

Этот метод предоставлен для удобства. Функционально он эквивалентен следующему коду:

multiply(new BigDecimal(String.valueOf(factor)))
Параметры:
factor — во сколько раз увеличить создаваемую новую Duration.
Возвращает:
Новую Duration, которая в factorраз больше этой Duration.
См. также:
  • multiply(BigDecimal)

multiply

public abstract Duration multiply(BigDecimal factor)
Вычисляет новую длительность, значение которой в factor раз больше значения этой длительности.

Например:

"P1M" (1 month) * "12" = "P12M" (12 months)
"PT1M" (1 min) * "0.3" = "PT18S" (18 seconds)
"P1M" (1 month) * "1.5" = IllegalStateException

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

Операция выполняется для каждого поля отдельно с точностью BigDecimal. Поскольку все поля, кроме секунд, могут содержать только целые числа, любая дробная часть, полученная при вычислении, переносится в следующую меньшую единицу. Например, если умножить "P1D" (1 день) на "0.5", получится 0.5 дня, которые будут преобразованы в "PT12H" (12 часов). Если дробную часть месяца нельзя осмысленно преобразовать в дни или года — в месяцы, будет выброшено исключение IllegalStateException. Например, оно возникает при умножении одного месяца на 0.5.

Чтобы избежать IllegalStateException, используйте метод normalizeWith(Calendar), чтобы удалить поля лет и месяцев.

Параметры:
factor — множитель
Возвращает:
возвращает корректный ненулевой объект Duration
Выбрасывает:
IllegalStateException — если операция приводит к появлению дробной части в поле месяцев.
NullPointerException — если параметр factor равен null.

negate

public abstract Duration negate()
Возвращает новый объект Duration, значение которого равно -this.

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

Возвращает:
всегда возвращает корректный ненулевой объект Duration.

normalizeWith

public abstract Duration normalizeWith(Calendar startTimeInstant)
Преобразует поля лет и месяцев в поле дней, используя заданный момент времени в качестве точки отсчёта.

Например, длительность в один месяц нормализуется до 31 дня, если начальный момент времени — «8 июля 2003 г., 17:40:32».

Формально вычисление выполняется следующим образом:

  1. создаётся копия переданного объекта Calendar
  2. к объекту Calendar прибавляются поля лет, месяцев и дней с помощью метода Calendar.add(int,int)
  3. разница между двумя объектами Calendar вычисляется в миллисекундах и преобразуется в дни; остаток, возникающий из-за перехода на летнее время, отбрасывается
  4. вычисленное количество дней вместе с полями часов, минут и секунд этого объекта длительности используется для создания нового объекта Duration.

Обратите внимание: поскольку класс Calendar использует int для хранения значения года и месяца, этот метод может дать неожиданный результат, если поля лет или месяцев этого объекта длительности содержат очень большие значения.

Параметры:
startTimeInstant — Calendar, используемая в качестве точки отсчёта.
Возвращает:
Duration лет и месяцев этой Duration в виде дней.
Выбрасывает:
NullPointerException — если параметр startTimeInstant равен null.

compare

public abstract int compare(Duration duration)
Сравнение по отношению частичного порядка с этим экземпляром Duration.

Результат сравнения должен соответствовать документу W3C XML Schema 1.0, часть 2, раздел 3.2.7.6.2, Отношение порядка для длительности.

Результат:

  • DatatypeConstants.LESSER, если эта Duration короче параметра duration
  • DatatypeConstants.EQUAL, если эта Duration равна параметру duration
  • DatatypeConstants.GREATER, если эта Duration длиннее параметра duration
  • DatatypeConstants.INDETERMINATE, если невозможно определить однозначное отношение частичного порядка
Параметры:
duration — объект для сравнения
Возвращает:
отношение между this Duration и параметром duration в виде DatatypeConstants.LESSER, DatatypeConstants.EQUAL, DatatypeConstants.GREATER или DatatypeConstants.INDETERMINATE.
Выбрасывает:
UnsupportedOperationException — если базовая реализация не может обработать запрос, например, если запрашиваемые значения выходят за пределы её возможностей; W3C XML Schema допускает сколь угодно большие, малые и точные значения.
NullPointerException — если duration равно null.
См. также:
  • isShorterThan(Duration)
  • isLongerThan(Duration)

isLongerThan

public boolean isLongerThan(Duration duration)
Проверяет, строго ли эта длительность длиннее другой длительности Duration.

Длительность X «длиннее» Y тогда и только тогда, когда X > Y согласно определению в разделе 3.2.6.2 спецификации XML Schema 1.0.

Например, "P1D" (один день) > "PT12H" (12 часов), а "P2Y" (два года) > "P23M" (23 месяца).

Параметры:
duration — Duration, с которым сравнивается эта Duration.
Возвращает:
true, если длительность, представленная этим объектом, длиннее переданной длительности; в противном случае — false.
Выбрасывает:
UnsupportedOperationException — если базовая реализация не может обработать запрос, например, если запрашиваемые значения выходят за пределы её возможностей; W3C XML Schema допускает сколь угодно большие, малые и точные значения.
NullPointerException — если duration равно null.
См. также:
  • isShorterThan(Duration)
  • compare(Duration duration)

isShorterThan

public boolean isShorterThan(Duration duration)
Проверяет, строго ли эта длительность короче другой длительности Duration.
Параметры:
duration — Duration, с которым сравнивается эта Duration.
Возвращает:
true, если параметр duration короче этой Duration; в противном случае — false.
Выбрасывает:
UnsupportedOperationException — если базовая реализация не может обработать запрос, например, если запрашиваемые значения выходят за пределы её возможностей; W3C XML Schema допускает сколь угодно большие, малые и точные значения.
NullPointerException — если duration равен null.
См. также:
  • isLongerThan(Duration duration)
  • compare(Duration duration)

equals

public boolean equals(Object duration)
Проверяет, совпадает ли длительность этого объекта с длительностью другого объекта Duration.

Например, "P1D" (1 день) равен "PT24H" (24 часа).

Длительность X равна Y тогда и только тогда, когда моменты времени t+X и t+Y совпадают для всех тестовых моментов времени, указанных в разделе 3.2.6.2 спецификации XML Schema 1.0.

Обратите внимание, что в некоторых случаях две Durations несравнимы, например месяц и 30 дней. Например:

!new Duration("P1M").isShorterThan(new Duration("P30D"))
!new Duration("P1M").isLongerThan(new Duration("P30D"))
!new Duration("P1M").equals(new Duration("P30D"))
Переопределяет:
equals в классе Object
Параметры:
duration — объект, с которым сравнивается эта Duration.
Возвращает:
true, если эта длительность равна duration. false, если duration равен null, не является объектом Duration или его длительность отличается от этой.
Выбрасывает:
UnsupportedOperationException — если базовая реализация не может обработать запрос, например, если запрашиваемые значения выходят за пределы её возможностей; W3C XML Schema допускает сколь угодно большие, малые и точные значения.
См. также:
  • compare(Duration duration)

hashCode

public abstract int hashCode()
Возвращает хеш-код, согласованный с определением метода equals.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого объекта
См. также:
  • Object.hashCode()

toString

public String toString()
Возвращает представление String этой Duration Object.

Результат форматируется в соответствии со спецификацией XML Schema 1.0 и всегда может быть впоследствии преобразован обратно в эквивалентную Duration Object с помощью метода DatatypeFactory.newDuration(String lexicalRepresentation).

Формально для любого Duration Object x выполняется следующее:

new Duration(x.toString()).equals(x)
Переопределяет:
toString в классе Object
Возвращает:
Корректное представление null этой String, не равное Duration.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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