Интерфейс TemporalAdjuster
- Все известные подинтерфейсы:
- ChronoLocalDate, ChronoLocalDateTime<D>, Эра
- Все известные реализующие классы:
- День недели, Дата хиджры, Эра хиджры, Мгновение, Эра ISO, Японская дата, Японская эра, Дата, Дата и время, Время, Дата Мингуо, Эра Мингуо, Месяц, День месяца, Дата и время с часовым поясом, Время с часовым поясом, Дата буддистского календаря Таиланда, Эра буддистского календаря Таиланда, Год, Год и месяц, Смещение часового пояса
- Функциональный интерфейс:
- Это функциональный интерфейс и, следовательно, может быть использован в качестве целевого назначения для лямбда-выражения или ссылки на метод.
@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, 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.