🍊
[Java]Optionalについて
Optional
とは
Optional
はJava 8から導入されたクラスで、null
によるバグや意図しない動作を防ぐためのラッパークラスです。
使い方
//値が存在するときだけ処理を実行
Optional<String> name = Optional.ofNullable(getName()); // nullでもOK
name.ifPresent(n -> System.out.println(n.length()));
// 値があればその値、なければ"default"
String result = name.orElse("default");
// 値がなければ例外を投げる(NoSuchElementException)
String result = name.orElseThrow(() -> ...);
//値があれば大文字に変換する
//戻り値はOptional<String>でラップされている
Optional<String> fruitName = Optional.of("banana");
Optional<String> fruitUpper = fruitName.map(n -> n.toUpperCase());
System.out.println(fruitUpper.orElse("N/A")); // 出力: BANANA
//"t" で始まる名前だけを出力する
//戻り値はOptional<String>でラップされている
Optional<String> sportsName = Optional.of("tennis");
Optional<String> result = sportsName.filter(n -> n.startsWith("t"));
System.out.println(result.orElse("合致せず")); // 出力: tennis
Discussion