Spec-Zone.ru › OpenJDK 24

Интерфейс TemporalAdjuster

Все известные подинтерфейсы:
ChronoLocalDate, ChronoLocalDateTime<D>, Era
Все известные реализующие классы:
DayOfWeek, HijrahDate, HijrahEra, Instant, IsoEra, JapaneseDate, JapaneseEra, LocalDate, LocalDateTime, LocalTime, MinguoDate, MinguoEra, Month, MonthDay, OffsetDateTime, OffsetTime, ThaiBuddhistDate, ThaiBuddhistEra, Year, YearMonth, ZoneOffset
Функциональный интерфейс:
Это функциональный интерфейс и, следовательно, может использоваться в качестве назначения для лямбда-выражения или ссылки на метод.
@FunctionalInterface public interface TemporalAdjuster
Стратегия для корректировки временного объекта.

Корректоры — ключевой инструмент для изменения временных объектов. Они предназначены для внешнего процесса корректировки, позволяя использовать разные подходы, согласно паттерну проектирования «стратегия». Примеры могут включать корректор, устанавливающий дату, избегая выходных дней, или корректор, устанавливающий дату на последнее число месяца.

Существует два эквивалентных способа использования корректирующего объекта TemporalAdjuster. Первый — вызвать метод напрямую на этом интерфейсе. Второй — использовать Temporal.with(TemporalAdjuster):

   // these two lines are equivalent, but the second approach is recommended
   temporal = thisAdjuster.adjustInto(temporal);
   temporal = temporal.with(thisAdjuster);
 
Рекомендуется использовать второй подход, with(TemporalAdjuster), так как он намного понятнее в коде.

Класс TemporalAdjusters содержит стандартный набор корректоров, доступных в виде статических методов. Они включают:

  • поиск первого или последнего числа месяца
  • поиск первого числа следующего месяца
  • поиск первого или последнего числа года
  • поиск первого числа следующего года
  • поиск первого или последнего дня недели в месяце, например, «первая среда июня»
  • поиск следующего или предыдущего дня недели, например, «следующая четверг»
Требования к реализации:
Этот интерфейс не накладывает ограничений на изменяемость реализаций, однако изменяемость не рекомендуется.
С:
1.8
См. также:
  • TemporalAdjusters

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

Модификатор и тип Метод Описание
Temporal adjustInto(Temporal temporal)
Корректирует указанный временной объект.

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

adjustInto

Temporal adjustInto(Temporal temporal)
Корректирует указанный временной объект.

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

Существует два эквивалентных способа использования этого метода. Первый — вызвать этот метод напрямую. Второй — использовать Temporal.with(TemporalAdjuster):

   // these two lines are equivalent, but the second approach is recommended
   temporal = thisAdjuster.adjustInto(temporal);
   temporal = temporal.with(thisAdjuster);
 
Рекомендуется использовать второй подход, with(TemporalAdjuster), так как он намного понятнее в коде.
Требования к реализации:
Реализация должна принять входной объект и скорректировать его. Реализация определяет логику корректировки и отвечает за документирование этой логики. Она может использовать любой метод на Temporal для запроса временного объекта и выполнения корректировки. Возвращаемый объект должен иметь тот же наблюдаемый тип, что и входной объект

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

Входной временной объект может быть в другой системе календаря, кроме ISO. Реализации могут выбрать документирование совместимости с другими системами календаря или отклонить объекты временных значений, не являющиеся ISO, с помощью querying the chronology.

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

Параметры:
temporal - временной объект для корректировки, не null
Возвращает:
объект того же наблюдаемого типа с выполненной корректировкой, не null
Исключения:
DateTimeException - если корректировку выполнить невозможно
ArithmeticException - если произошел переполнение числового значения

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/temporal/TemporalAdjuster.html

Spec-Zone.ru

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