Optional介绍
一. 背景:
Optional是在Java8引入的,主要功能是处理这个null值,很大程度避免了空指针异常,同时也使我们的代码可读性更强
二. 核心知识:
- Optional是一个可以为null的容器
- Optional提供的很多方法可以以函数式编程的方式处理可能为null的值,而不是显示地进行空检查
三. 主要方法:
- isPresent()
Optional<String> opt = Optional.of("John");
if (opt.isPresent()) {
System.out.println(opt.get());
} else {
System.out.println("none");
}
-
get() 用法:获取Optional对象的值,如果值不存在那么抛出NoSuchElementException
-
orElse()
Optional<String> opt = Optional.ofNullable(null);
opt.orElse("default value"); // 这种就是如返回值不为空则返回,如果为空,则走其默认值
- orElseGet() 用法:用于获取Optional对象的值,如果值
Optional<String> opt = Optional.ofNullable(null);
opt.
- orElseThrow()
- empty()
Optional<String> opt1 = Optional.empty();
- of()
String name = "bob";
Optional<String> opt2 = Optional.of(name);
- ofNullable()
String name = "jame";
Optional<String> opt3 = Optional.ofNullable(name);