Spec-Zone.ru › OpenJDK 17

Интерфейс 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
Стратегия корректировки временного объекта.

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

Существуют два равнозначных способа использования корректировщика. Первый — вызвать метод на этом интерфейсе напрямую. Второй — использовать 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, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/temporal/TemporalAdjuster.html

Spec-Zone.ru

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