关于Optional使用介绍

34 阅读1分钟

Optional介绍

一. 背景:

Optional是在Java8引入的,主要功能是处理这个null值,很大程度避免了空指针异常,同时也使我们的代码可读性更强

二. 核心知识:

  • Optional是一个可以为null的容器
  • Optional提供的很多方法可以以函数式编程的方式处理可能为null的值,而不是显示地进行空检查

三. 主要方法:

  1. isPresent()
Optional<String> opt = Optional.of("John");
if (opt.isPresent()) {
    System.out.println(opt.get());
} else {
    System.out.println("none");
}
  1. get() 用法:获取Optional对象的值,如果值不存在那么抛出NoSuchElementException

  2. orElse()

Optional<String> opt = Optional.ofNullable(null);
opt.orElse("default value"); // 这种就是如返回值不为空则返回,如果为空,则走其默认值
  1. orElseGet() 用法:用于获取Optional对象的值,如果值
Optional<String> opt = Optional.ofNullable(null);
opt.
  1. orElseThrow()
  2. empty()
Optional<String> opt1 = Optional.empty();

  1. of()
String name = "bob";
Optional<String> opt2 = Optional.of(name);
  1. ofNullable()
String name = "jame";
Optional<String> opt3 = Optional.ofNullable(name);