Java的Optional,更有意义的“空”
来源:互联网 发布:ubuntu 火狐打不开网页 编辑:程序博客网 时间:2024/06/06 00:22
背景
NullPointerException是java开发中的常见的异常.
Person person = people.find("John Smith");if (person != null) { person.doSomething();}
遗憾的是,在绝大多数Java代码里,我们常常忘记了判断空引用.
如何优雅的解决这个问题.
Optional是对可以为空的对象进行的封装, 并不会减少代码量,甚至比原来的代码还多。但好处在于,你绝对不会忘记判空,因为这里我们得到的不是Person类的对象,而是Optional。
Optional的使用
创建
如何创建一个Optional对象,基本的规则很简单:
如果我们知道自己要封装的对象是一个空对象,可以用
Optional.absent();
如果封装的对象是一个非空对象,则可以用
Optional.of(obj);
如果不知道对象是否为空,就这样创建创建
Optional.fromNullable(obj);
判断
有时候,当一个对象为null的时候,我们并不是简单的忽略,而是给出一个缺省值,比如找不到这个人,任务就交给经理来做。使用Optional可以很容易地做到这一点,以上面的代码为例:
Optional person = people.find(“John Smith”);
person.or(manager).doSomething()
说白了,Optinal是给了我们一个更有意义的“空”。
阅读全文
0 0
- Java的Optional,更有意义的“空”
- 成就更卓越、更有意义的人生
- [让CSS更规范]使用有意义的标记
- 企业计划是否能够做的更有意义?
- 10种途径过更有意义的生命
- 合理使用nginxhash策略做更有意义的负载均衡
- 合理使用nginxhash策略做更有意义的负载均衡
- Java 8的Optional类
- Java函数式开发——优雅的Optional空指针处理
- 【Java】jdk8 Optional 的正确姿势
- 使用 Java 8 Optional 的正确姿势
- [Java编程教程]Optional的正确使用
- 【Java】jdk8 Optional 的正确姿势
- 使用java 8 Optional 的正确姿势
- java 8 代替 null 的类 Optional
- Java 8 Optional的正确姿势
- 【java新】Optional pk 空指针
- 有意义的一天,yeah!
- Android自定义View详解
- 邮件客户端WebMail Pro v7.7.4发布,在线订购限时75折优惠!
- Python之Pandas(1)
- Protobuf3语言指南
- 零代码侵入给app添加应用外debug工具
- Java的Optional,更有意义的“空”
- Android技巧总结
- ssh重新做免密登录最快方法记录
- Demo
- Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)
- mysql 存储过程 基础例子
- fiddler抓包工具 iPhone手机 设置
- 欢迎使用CSDN-markdown编辑器
- scala基础之函数和闭包