【笔记】Java的Optional

前言

Java的Optional学习笔记

获取Optional对象

ofNullable()

1
2
3
Object object = null;

Optional optional = Optional.ofNullable(object);

of()

  • 如果为空,则报错
1
2
3
Object object = new Object();

Optional optional = Optional.of(object);

获取Object对象

为空就报错

1
Object object = optional.get();

为空就返回默认值

1
Object object = optional.orElse(new Object());
1
2
3
Object object = optional.orElseGet(() -> {
new Object();
});

为空就抛异常

1
2
3
Object object = optional.orElseThrow(() -> {
return new RuntimeException();
});

执行逻辑

  • 如果不为空就执行,为空就不执行
1
2
3
optional.ifPresent((obj) -> {
...
});

映射为新的Optional对象

1
2
3
Optional result = optional.map((obj) -> {
return obj;
});

过滤为新的Optional对象

1
2
3
4
5
Optional optional = Optional.ofNullable(null);

Optional result = optional.filter((obj) -> {
return true;
});

完成

参考文献

哔哩哔哩——青空の霞光