什么是NPE,为什么说防止 NPE,是程序员的基本修养?


什么是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时,则可以抛出针对性的异常类型。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM