モジュール java.base
パッケージ java.time.temporal

インタフェース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には、2つの同等な使用方法があります。 1つ目は、このインタフェース上でメソッドを直接呼び出す方法です。 2つ目は、Temporal.with(TemporalAdjuster)を使用する方法です。

   // these two lines are equivalent, but the second approach is recommended
   temporal = thisAdjuster.adjustInto(temporal);
   temporal = temporal.with(thisAdjuster);
 
コード内での読みやすさが大幅に向上するため、2つ目のアプローチ(with(TemporalAdjuster))を使用することをお薦めします。

TemporalAdjustersクラスには、staticメソッドとして使用できるアジャスタの標準セットが含まれています。 これには次のものがあります。

  • 月の最初または最後の日を見つける
  • 翌月の最初の日を見つける
  • その年の最初または最後の日を見つける
  • 翌年の最初の日を見つける
  • 月内の最初または最後の曜日(「6月の最初の水曜日」など)を見つける
  • 次または前の曜日(「次の木曜日」など)を見つける

実装要件:
このインタフェースは実装が可変であることを制限しませんが、不変にすることを強くお薦めします。
導入されたバージョン:
1.8
関連項目: