Java の LocalDate の isSupported メソッド

JavaBeginner
オンラインで実践に進む

はじめに

isSupported() メソッドは、Java の java.time.LocalDate クラスの一部です。これは、指定されたフィールドが LocalDate オブジェクトでサポートされているかどうかを確認するために使用できます。このメソッドは、java.time.temporal.TemporalField 型の 1 つの引数を取り、ブール値を返します。

新しい Java ファイルを作成する

この手順では、~/project ディレクトリに新しい Java ファイルを作成します。ターミナルを開き、次のコマンドを実行します。

touch ~/project/LocalDateDemo.java

必要なクラスをインポートする

LocalDateChronoField クラスを使用するには、Java ファイルにインポートする必要があります。次のコードをコピーして、LocalDateDemo.java ファイルの先頭に貼り付けます。

import java.time.LocalDate;
import java.time.temporal.ChronoField;

LocalDate オブジェクトを作成する

この手順では、特定の日付を表す LocalDate オブジェクトを作成します。main() メソッド内の既存のコードを次のものに置き換えます。

public static void main(String[] args) {
    LocalDate date = LocalDate.of(2022, 5, 20);
    System.out.println("Date: " + date);
}

これにより、2022 年 5 月 20 日の日付を持つ LocalDate オブジェクトが作成されます。

フィールドがサポートされているかどうかを確認する

この手順では、isSupported() メソッドを使用して、LocalDate オブジェクトが MONTH_OF_YEAR フィールドをサポートしているかどうかを確認します。LocalDate オブジェクトを作成した後に、次のコードを追加します。

boolean isMonthSupported = date.isSupported(ChronoField.MONTH_OF_YEAR);
System.out.println("Is Month of year supported: " + isMonthSupported);

これにより、LocalDate オブジェクトが MONTH_OF_YEAR をサポートしているかどうかが確認され、結果が表示されます。

サポートされていないフィールドを確認する

この手順では、サポートされていないフィールドを確認します。前の手順の後に、次のコードを追加します。

boolean isHourSupported = date.isSupported(ChronoField.HOUR_OF_DAY);
System.out.println("Is Hour of day supported: " + isHourSupported);

これにより、LocalDate オブジェクトが HOUR_OF_DAY をサポートしているかどうかが確認され、結果が表示されます。

プログラムをコンパイルして実行する

この手順では、LocalDateDemo.java ファイルをコンパイルして実行します。ターミナルを開き、次のコマンドを実行します。

javac ~/project/LocalDateDemo.java
java LocalDateDemo

出力

プログラムの出力は次のようになるはずです。

Date: 2022-05-20
Is Month of year supported: true
Is Hour of day supported: false

まとめ

この実験では、Java のLocalDateにおけるisSupported()メソッドの使い方を学びました。LocalDateオブジェクトを作成する方法、フィールドがサポートされているかどうかを確認する方法、およびisSupported()メソッドを使ってサポートされていないフィールドを確認する方法を学びました。