Интерфейс 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
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal |
adjustInto |
Корректирует указанный объект времени. |
Подробное описание методов
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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/temporal/TemporalAdjuster.html