はじめに
isSupported() メソッドは、Java の java.time.LocalDate クラスの一部です。これは、指定されたフィールドが LocalDate オブジェクトでサポートされているかどうかを確認するために使用できます。このメソッドは、java.time.temporal.TemporalField 型の 1 つの引数を取り、ブール値を返します。
新しい Java ファイルを作成する
この手順では、~/project ディレクトリに新しい Java ファイルを作成します。ターミナルを開き、次のコマンドを実行します。
touch ~/project/LocalDateDemo.java
必要なクラスをインポートする
LocalDate と ChronoField クラスを使用するには、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()メソッドを使ってサポートされていないフィールドを確認する方法を学びました。



