@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メソッドとして使用できるアジャスタの標準セットが含まれています。これらの機能を次に示します。
TemporalAdjusters
修飾子と型 | メソッドと説明 |
---|---|
Temporal |
adjustInto(Temporal temporal)
指定された時間的オブジェクトを調整します。
|
Temporal adjustInto(Temporal temporal)
これは、実装クラスにカプセル化されたロジックを使用して、指定された時間的オブジェクトを調整します。例として、週末を避けて日付を設定するアジャスタや、日付を月の最後の日に設定するアジャスタなどがあります。
このメソッドを使用する等価な方法が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)
)を使用することをお薦めします。Temporal
上の任意のメソッドを使用して時間的オブジェクトを問い合せ、調整を実行できます。返されるオブジェクトは、入力オブジェクトと同じ識別可能な型を持つ必要があります。
入力オブジェクトは変更できません。かわりに、元のオブジェクトの調整済のコピーを返す必要があります。これは、不変および可変の時間的オブジェクトに対して同等の安全な動作を提供します。
入力の時間的オブジェクトは、ISO以外の暦体系にすることができます。実装は、他の暦体系との互換性をドキュメント化したり、暦を問い合せる
ことによってISO以外の時間的オブジェクトを拒否したりすることもできます。
このメソッドは、複数のスレッドから並列に呼び出される可能性があります。呼び出されるときは、スレッドセーフである必要があります。
temporal
- 調整する時間的オブジェクト。null以外DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.