Optional是Java 8中提供的一个容器类,用来装载可能为空的引用。在使用Optional时,不需要检查null,可以避免NullPointerException。
1. 创建Optional实例
Optional可以通过工厂方法of()、ofNullable()和empty()创建实例。
// 创建指定非空值的Optional实例
Optional optional = Optional.of(“hello”);
// 创建指定可能为空的值的Optional实例
Optional optional = Optional.ofNullable(null);
// 创建空的Optional实例
Optional empty = Optional.empty();
2. 判断是否引用缺失
// 使用isPresent()判断是否包含值
boolean isPresent = optional.isPresent();
// 使用ifPresent()处理值
optional.ifPresent(System.out::println);
3. 获取Optional值
// 使用get()获取值
String value = optional.get();
// 使用orElse()获取值,如果值不存在则使用默认值
String value = optional.orElse(“default”);
// 使用orElseGet()获取值,如果值不存在则使用Supplier接口生成默认值
String value = optional.orElseGet(() -> “default”);
// 使用orElseThrow()获取值,如果值不存在则抛出异常
String value = optional.orElseThrow(() -> new RuntimeException());