Java8にOptionalクラスのサンプル

2022年1月13日

環境
Windows10 64bit
Eclipse 2019
Java8

書式
1.public T orElse(T other)
存在する場合は値を返し、それ以外の場合はotherを返します。
パラメータ:
other – 存在する値がない場合に返される値、nullも可
戻り値:
値(存在する場合)、それ以外の場合はother

2.ofNullable(T value)
指定された値がnullでない場合はその値を記述するOptionalを返し、それ以外の場合は空のOptionalを返します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.testinfo;
import java.util.Optional;
public class OptionMapDemo {
private static final String TT = null;
private static final String SS = "studyskill";
public static void main(String[] args) {
// Optionの値を取得
Optional<String> res = getInfo();
//値が存在しないとき引数の値を返す
String gg = res.orElse(SS);
System.out.println("結果1: " + gg);
// null場合は値を表示しない 値がnull出ない場合に実行されます
res.ifPresent(k -> System.out.println("結果2: "+k));
}
//getInfo関数の定義
static Optional<String> getInfo() {
String str = TT;
//Optionalとして値を戻します
return Optional.ofNullable(str);
}
}
package com.arkgame.testinfo; import java.util.Optional; public class OptionMapDemo { private static final String TT = null; private static final String SS = "studyskill"; public static void main(String[] args) { // Optionの値を取得 Optional<String> res = getInfo(); //値が存在しないとき引数の値を返す String gg = res.orElse(SS); System.out.println("結果1: " + gg); // null場合は値を表示しない 値がnull出ない場合に実行されます res.ifPresent(k -> System.out.println("結果2: "+k)); } //getInfo関数の定義 static Optional<String> getInfo() { String str = TT; //Optionalとして値を戻します return Optional.ofNullable(str); } }
package com.arkgame.testinfo;

import java.util.Optional;

public class OptionMapDemo {

      private static final String TT = null;
      private static final String SS = "studyskill";

      public static void main(String[] args) {
            // Optionの値を取得
            Optional<String> res = getInfo();
            //値が存在しないとき引数の値を返す
            String gg = res.orElse(SS);
            System.out.println("結果1: " + gg);

            // null場合は値を表示しない 値がnull出ない場合に実行されます
            res.ifPresent(k -> System.out.println("結果2: "+k));
      }

//getInfo関数の定義
      static Optional<String> getInfo() {
            String str = TT;
            //Optionalとして値を戻します
            return Optional.ofNullable(str);
      }
}

実行結果
結果1: studyskill

Java

Posted by arkgame