如何优雅地根治null值引起的Bug!
本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/igMojff-bbmQ6irCGO3mqA 在笔者几年的开发经验中,经常看到项目中存在到处空值判断的情况,这些判断,会让人觉得摸不着头绪,它的出现很有可能和当前的业务逻辑并没有关系。但它会让你很头疼。 有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。 此篇文章,总结了几种关于空值的处理手法,希望对读者有帮助。 业务中的空值 场景 存在一个 UserSearchService 用来提供用户查询的功能: public interface UserSearchService{ List<User> listUser(); User get(Integer id); } 问题现场 对于面向对象语言来讲,抽象层级特别的重要。尤其是对接口的抽象,它在设计和开发中占很大的比重,我们在开发时希望尽量面向接口编程。 对于以上描述的接口方法来看,大概可以推断出可能它包含了以下两个含义: listUser() : 查询用户列表 get(Integerid) : 查询单个用户 在所有的开发中