加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Java 8新特性Optional深度解析

发布时间:2019-02-20 23:14:15 所属栏目:建站 来源:Owen_Jia
导读:最近脑袋发热追着java8源码看的很起劲,还有了执念,罪过。 本文以jdk1.8.0_111源码为例 publicfinalclassOptionalT{} Optional是一个为了解决NullPointerException设计而生可以包含对象也可以包含空的容器对象。封装了很多对空处理的方法也增加了filter、

测试用例如下:

  1. Java8OptionalTest one = null; 
  2. Java8OptionalTest test = new Java8OptionalTest(); 
  3. Optional<Java8OptionalTest> optional = Optional.ofNullable(one); 
  4. pringTest(optional); 
  5. //Optional.empty 
  6. pringTest(optional.orElse(test)); 
  7. //com.ts.util.Java8OptionalTest@5197848c 
  8. pringTest(optional.orElseGet(() -> new Java8OptionalTest())); 
  9. //com.ts.util.Java8OptionalTest@5d6f64b1 
  10. pringTest(optional.orElseThrow(() -> new RuntimeException("orElseThrow"))); 
  11. //java.lang.RuntimeException: orElseThrow  

总结

官方推出Optional绝不会就是替大家判断一下null,filtermaporElse这三种使用场景是比较容易想到的,很多业务场景需要慢慢摸索使用。多函数式的用法需要好好掌握,技术发展是非常快速的。

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读