新版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