版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013379717/article/details/89638637
一、说明
Optional 是一个容器,它可以保存类型 T 或为 null 的 值 的容器
Optional 提供了很多方法对值进行检测,可以很好的解决空指针异常
二、示例
// 返回一个指定非空值的Optional,参数为null抛出空指针
Optional<String> optional = Optional.of("JavaOptional");
// 非空则返回指定值的Optional,否则返回描述为空的Optional
Optional<String> optional = Optional.ofNullable(null);
// 判断是否有值,即不为null
boolean present = optional.isPresent();
// 如果值不为空,就执行Lambda表达式
optional.ifPresent( opt -> System.out.println(opt) );
// 如果有值,则返回值,如果等于空则抛异常
String value = optional.get();
//如果值存在则返回值,否则返回指定的默认值
String str = optional.orElse("Default String");
// 如果值存在且和给定的断言匹配则返回该值描述的Optional,否则返回一个描述为空的Optional
Optional<String> optional = optional.filter((opt) -> opt.length() < 20);