这篇文章将为大家详细讲解有关Optional.ofNullable如何处理空指针,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
对于 Integer 的判空,可以使用 Optional.ofNullable 来构造一个 Optional,
然后使用 orElse(0) 把 null 替换为默认值再进行 +1 操作。
对于 String 和字面量的比较,可以把字面量放在前面,
比如"OK".equals(s),这样即使 s 是 null 也不会出现空指针异常;
而对于两个可能为 null 的字符串变量的 equals 比较,
可以使用 Objects.equals,它会做判空处理。
对于 ConcurrentHashMap,既然其 Key 和 Value 都不支持 null,修复方式就是不要把 null 存进去。
HashMap 的 Key 和 Value 可以存入 null,
而 ConcurrentHashMap 看似是 HashMap 的线程安全版本,却不支持 null 值的 Key 和 Value,
这是容易产生误区的一个地方。
对于类似 fooService.getBarService().bar().equals(“OK”) 的级联调用,
需要判空的地方有很多,包括 fooService、getBarService() 方法的返回值,以及 bar 方法返回的字符串。
如果使用 if-else 来判空的话可能需要好几行代码,
但使用 Optional 的话一行代码就够了。
对于 rightMethod 返回的 List,
由于不能确认其是否为 null,
所以在调用 size 方法获得列表大小之前,同样可以使用 Optional.ofNullable 包装一下返回值,
然后通过.orElse(Collections.emptyList()) 实现在 List 为 null 的时候获得一个空的 List,最后再调用 size 方法。
关于“Optional.ofNullable如何处理空指针”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
C#中的WebRequest与WebResponse抽象类、DNS静态类、Ping类实例分析
C++引用如何使用
flutter怎么封装点击菜单工具栏组件checkBox多选版
JavaScript怎么实现淘宝网图片的局部放大功能
flutter怎么封装单选点击菜单工具栏组件
小程序怎么开发调用微信支付及微信回调地址
Python怎么通过变量ID得到变量的值
Python如何实现功能全面的学生管理系统
idea怎么使用jclasslib插件查看字节码
python怎么用xlsxwriter模块处理excel文件
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议