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

クラスTemporalQueries

java.lang.Object
java.time.temporal.TemporalQueries

public final class TemporalQueries extends Object
TemporalQueryの一般的な実装です。

このクラスは、TemporalQueryの一般的な実装を提供します。 これらは定数である必要がありますが、ラムダの定義ではそれが保証されないため、ここで定義されます。 これらは、ここで1度割り当てることによって通常のJava定数になります。

問合せは、時間的オブジェクトから情報を抽出するための主要なツールです。 それらは、戦略デザイン・パターンのように、問合せのプロセスを外部化して異なるアプローチを可能にするために存在します。 例として、日付がうるう年の2月29日の前日かどうかを確認する問合せや、次の誕生日までの日数を計算する問合せなどがあります。

TemporalFieldインタフェースは、時間的オブジェクトを問い合せるもう1つのメカニズムを提供します。 そのインタフェースは、longを返すように制限されています。 これに対して、問合せは任意の型を返すことができます。

TemporalQueryには、2つの同等な使用方法があります。 1つ目は、このインタフェース上でメソッドを直接呼び出す方法です。 2つ目は、TemporalAccessor.query(TemporalQuery)を使用する方法です。

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

もっとも一般的な実装は、LocalDate::fromZoneId::fromなどのメソッド参照です。 さらに、次を返す共通の問合せも提供されます。

  • Chronology
  • LocalDate
  • LocalTime
  • ZoneOffset
  • 精度
  • ゾーン
  • zoneId

導入されたバージョン:
1.8