码迷,mamicode.com
首页 > 其他好文 > 详细

空指针终结者之Optional

时间:2019-09-27 01:21:38      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:防止   nbsp   多层   empty   map   nullable   方法   col   大片   

9012年了,请放弃(a!=null && a.getFiled()!=null)或者封装后写成(!ObejectUtil.isEmpty(a) && !ObjectUtil.isEmpty(a.getFiled()))的写法。快来交接下Optional吧。

 

Optinal的用法一抓一大片,此处不再赘述,为了防止空指针,记住以下几个原则即可:

  • 用ofNullable而别用of,进入ofNullable源码可知,此方法可以接受null的入参,而of方法接受null入参会报空指针。

  • 用orelse(orelseGet)而别用get,前者依旧可以有效避免空指针
  • 多层嵌套时,引入map,例如Optinal.ofNullable(a).map(Class::getFieled).map(Class::getFieled2).orElse(null);代码会更优雅。
  • 做非空判断,引入isParent即可
  • flatMap同Stream基础的flatMap,不赘述。

空指针终结者之Optional

标签:防止   nbsp   多层   empty   map   nullable   方法   col   大片   

原文地址:https://www.cnblogs.com/fbw-gxy/p/11595219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!