LoginSignup
0
0

More than 5 years have passed since last update.

java Optionalの使い方について

Posted at

Optionalの宣言方法

Optionalを使用するには型をラップして使う

Optional<String> opt1;

自作クラスでも同様

testClass.java
public class testClass
{
    private String no;
    private BigDecimal val;
}
OPtional<testClass> opt2;

使い方

optional型に値をいれるにはoptional.of か optional.ofNullableを使用する。

Optional<String> opt1 = Optional.of("test");

ただ、optional.ofは引数がnullの場合Exceptionが発生するので注意。

Optional<String> opt1 = Optional.of(null);

よって、optional.ofNullableを使用する。

Optional<String> opt1 = Optional.ofNullable("test");
Optional<String> opt2 = Optional.ofNullable(null);

testClass test = new testClass();
Optional<String> opt3 = Optional.ofNullable(test);

値の取り出し方

値を取り出すには、以下を使用する。
get : nullの場合、Exception発生
orElse : null出ない場合変数値、nullの場合orElseの引数を返却
orElseGet : null出ない場合変数値、nullの場合,suppelierの結果を返却

String val1 = opt1.get();
String val2 = opt1.orElse("")

自作クラスから値を取り出すときは、以下を使用してフィールドを取得できる。
map

String val1 = opt3.map(testClass::getNo).orElse("1");
String val2 = opt3.map(v -> v.getNo()).orElse("2");
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0