コツコツ学習ブログ

プログラマのweb上のメモ的なもの

オプショナル(Optional)クラス

オプショナルクラスとは

java.util.Optionalクラス。Optionalクラスをメソッドの戻り値の型として 用いることで、null安全に配慮したプログラムを作成できる

  • 静的メソッドofNullable()で生成する
  • isPresent()を用いて中身がnullかを検証できる
  • get()で内容を取得できるが、nullなら例外が発生する
  • orElse()でnullを置換して内容を取得できる
package sample;

import java.util.Optional;

public class Main {
    //文字列sを文字cで挟んで装飾するメソッド
    public static Optional<String> decorate(String s, char c) {
        String r;
        if (s == null || s.length() == 0) {
            r = null;
        } else {
            r = c + s + c;
        }
        return Optional.ofNullable(r);
    }

    public static void main(String[] args) {
        Optional<String> s = decorate("", '*');
        System.out.println(s.orElse("nullのため処理できません"));
    }
}