什么是NPE

NPE(java.lang.NullPointerException): 空指针异常。

NPE容易发生的场景

1.返回类型为基本数据类型,return 包装数据类型的对象时,自动拆箱有可能产生 NPE。

2.数据库的查询结果可能为 null。

3.集合里的元素即使 isNotEmpty,取出的数据元素也可能为 null。

4.远程调用返回对象时,一律要求进行空指针判断,防止 NPE。

5.对于Session中获取的数据,建议进行 NPE检查,避免空指针。

6.级联调用 obj.getA().getB().getC();一连串调用,易产生 NPE。

那如何减少NPE的发生呢?

1.遵守代码规范

一个好的代码规范可以在一定程度上减少错误的发生。这里推荐看阿里巴巴的Java开发手册,现已经更新到泰山版了,可以直接去官网下载来看。

2.使用Optional类

使用JDK8引入的新特性Optional 类来防止NPE 问题,因为Optional类最主要解决的问题就是NPE。

3.空值检测

使用if(obj == null)来检测我们需要检测的对象,当检测到Null时,则可以抛出针对性的异常类型。

版权声明:本文为jinyewuming原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jinyewuming/p/13177881.html