ホームページ  >  記事  >  Java  >  Java8でのOptionalクラスの使用

Java8でのOptionalクラスの使用

WBOY
WBOYオリジナル
2024-02-19 11:25:07734ブラウズ

Java8でのOptionalクラスの使用

Java8 での Optional の使用法

Java8 の Optional クラスは、null の可能性がある値を処理するための新機能です。古いバージョンの Java では、NULL ポインター例外を回避するために条件判断を使用する必要があります。 Java 8 では、Optional クラスは、null 値の可能性を処理するための洗練された安全な方法を提供します。

Optional クラスはコンテナ オブジェクトであり、null 以外の値が含まれるか、空の場合があります。 Optional クラスを使用すると、特定の値が null である場合の状況を明示的に表現し、null ポインター例外を回避できます。

以下では、具体的なコード例を通して、Optional クラスの使い方を紹介します。

  1. オプション オブジェクトの作成

オプション オブジェクトは、静的メソッドを通じて作成できます。 Optional オブジェクトを作成するために一般的に使用されるメソッドは次のとおりです。

  • Optional.empty(): 空の Optional オブジェクトを作成します。
  • Optional.of(value): null 以外の Optional オブジェクトを作成し、その値として value を使用します。
  • Optional.ofNullable(value): Optional オブジェクトを作成します。value が空でない場合は、それを Optional オブジェクトの値として使用します。それ以外の場合は、空の Optional オブジェクトを作成します。
Optional<String> emptyOptional = Optional.empty();
Optional<String> nonEmptyOptional = Optional.of("Hello World");
Optional<String> nullableOptional = Optional.ofNullable("Hello World");
  1. Optional オブジェクトに値が含まれているかどうかを確認する

isPresent() メソッドを使用して、Optional オブジェクトに値が含まれているかどうかを確認できます。 Optional オブジェクトに null 以外の値が含まれている場合、isPresent() メソッドは true を返し、それ以外の場合は false を返します。

Optional<String> optional = Optional.ofNullable("Hello World");
if (optional.isPresent()) {
    System.out.println("Optional对象包含值:" + optional.get());
} else {
    System.out.println("Optional对象为空");
}
  1. オプション オブジェクトの値の取得

get() メソッドを使用して、オプション オブジェクトの値を取得できます。 Optional オブジェクトが空の場合、get() メソッドを呼び出すと NoSuchElementException 例外がスローされます。したがって、get()メソッドを呼び出す前に、isPresent()メソッドを使用して判断するのが最善です。

Optional<String> optional = Optional.ofNullable("Hello World");
if (optional.isPresent()) {
    System.out.println("Optional对象包含值:" + optional.get());
} else {
    System.out.println("Optional对象为空");
}
  1. デフォルト値を使用

オプション オブジェクトが空の場合、代わりにデフォルト値を使用したい場合があります。これは、orElse() メソッドを使用して実現できます。

Optional<String> optional = Optional.empty();
String value = optional.orElse("Default Value");
System.out.println("Optional对象的值:" + value);
  1. ラムダ式の使用

関数型プログラミングの概念は Java8 で導入され、ラムダ式を通じて Optional オブジェクトの値を処理できます。

Optional<String> optional = Optional.ofNullable("Hello World");
optional.ifPresent(value -> System.out.println("Optional对象的值:" + value));
  1. チェーン操作の実行

オプション オブジェクトはチェーン操作をサポートしており、map() メソッドを使用してオプション オブジェクトの値を変換できます。

Optional<String> optional = Optional.ofNullable("Hello World");
optional.map(value -> value.toUpperCase())
        .ifPresent(value -> System.out.println("转换后的值:" + value));

上の例を通して、Java8 での Optional クラスの使用法を確認できます。 Optional クラスは、null の可能性のある値をよりエレガントに処理し、null ポインター例外の発生を回避するのに役立ちます。実際の開発では、Optional クラスを適切に使用すると、コードの可読性と堅牢性が向上します。

以上がJava8でのOptionalクラスの使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。