Интерфейс 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, 2020, 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/11/docs/api/java.base/java/time/temporal/TemporalAdjuster.html

Spec-Zone .ru
спецификации, руководства, описания, API