新版Optional
我们每一做一件事都应该既小心谨慎,又充满信心。——爱比克泰德
首先关于Optional的博客我已经写过好几篇了
在Java9中更新了Optional的三个函数
第一个:将Optional中的值转换为Stream,如果值不存在,则返回空的Stream
| /** | 
用法很简单
| String stream = Optional.ofNullable("1").stream().collect(Collectors.joining(",")); | 
第二个:如果值存在就执行action,否则执行emptyAction
| /** | 
用法:
| Optional.ofNullable("2").ifPresentOrElse(v -> System.out.println(v), () -> System.out.println("不存在")); | 
第三个:如果值存在,返回本身,不存在则调用supplier获取一个新的Optional
| /** | 
用法:
| Optional.ofNullable(null).or(Optional::empty).or(() -> Stream.of(3).findAny()).ifPresent(System.out::println); | 
然后是java10中出现的
如果有值则获取,无则直接抛出NoSuchElementException异常
| /** | 
用法:
| Optional.ofNullable(null).orElseThrow(); | 
最后是java11中出现的
判断是否有值
| /** | 
用法:
| Optional.ofNullable("").isEmpty(); | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蒋立坤的博客!
 评论
Va









