java
2021-07-19
2021-07-19
我们每一做一件事都应该既小心谨慎,又充满信心。——爱比克泰德
首先关于Optional
的博客我已经写过好几篇了
在Java9
中更新了Optional
的三个函数
第一个:将Optional
中的值转换为Stream
,如果值不存在,则返回空的Stream
1 | /** |
用法很简单
1 | String stream = Optional.ofNullable("1").stream().collect(Collectors.joining(",")); |
第二个:如果值存在就执行action
,否则执行emptyAction
1 | /** |
用法:
1 | Optional.ofNullable("2").ifPresentOrElse(v -> System.out.println(v), () -> System.out.println("不存在")); |
第三个:如果值存在,返回本身,不存在则调用supplier
获取一个新的Optional
1 | /** |
用法:
1 | Optional.ofNullable(null).or(Optional::empty).or(() -> Stream.of(3).findAny()).ifPresent(System.out::println); |
然后是java10
中出现的
如果有值则获取,无则直接抛出NoSuchElementException
异常
1 | /** |
用法:
1 | Optional.ofNullable(null).orElseThrow(); |
最后是java11
中出现的
判断是否有值
1 | /** |
用法:
1 | Optional.ofNullable("").isEmpty(); |