什么是NPE,为什么说防⽌NPE,是程序员的基本修养?
什么是NPE
NPE(java.lang.NullPointerException): 空指针异常。
NPE容易发⽣的场景
1.返回类型为基本数据类型,return 包装数据类型的对象时,⾃动拆箱有可能产⽣ NPE。
2.数据库的查询结果可能为 null。
3.集合⾥的元素即使 isNotEmpty,取出的数据元素也可能为 null。
4.远程调⽤返回对象时,⼀律要求进⾏空指针判断,防⽌ NPE。
5.对于Session中获取的数据,建议进⾏ NPE检查,避免空指针。
6.级联调⽤ A().getB().getC();⼀连串调⽤,易产⽣ NPE。
那如何减少NPE的发⽣呢?
1.遵守代码规范
nullpointerexception为什么异常⼀个好的代码规范可以在⼀定程度上减少错误的发⽣。这⾥推荐看阿⾥巴巴的Java开发⼿册,现已经更新到泰⼭版了,可以直接去官⽹下载来看。
2.使⽤Optional类
使⽤JDK8引⼊的新特性Optional 类来防⽌NPE 问题,因为Optional类最主要解决的问题就是NPE。
3.空值检测
使⽤if(obj == null)来检测我们需要检测的对象,当检测到Null时,则可以抛出针对性的异常类型。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论