首页 > 其他 > 详细

恼人的空指针异常及解决方式

时间:2020-05-07 09:55:04      阅读:50      评论:0      收藏:0      [点我收藏+]

1、a.equals(b)

解决方法:a必须确认不为null才能这么使用,如果a没办法确认是否为null,则可以使用Objects.equals(a,b)来比较,该方法内部会对null进行判断(前提条件是对象a和b都实现了hashcode和equals方法,不然比较会出问题,String对象默认实现了这两个方法)

2、if(a)  a.toString()  a.getXXX

解决方法:必须确认a不为null才能调用该方法进行逻辑判断

3、a.size() > 0

解决方法:本来是要根据查询数据库返回的list集合来进行操作,但是返回的a可能为null,所以判断a != null && a.size >0 才能对a这个list进行下一步操作,也可以判断a == null抛出异常,或者使用jdk1.8的Optional类来对list对象进行封装,使用前调用isPresent方法判断是否为空

4、参数值是 Integer 等包装类型,使用时因为自动拆箱出现了空指针异常

解决方法:将包装类型赋值给基本类型变量时记得判断是否为null

5、诸如 ConcurrentHashMap 这样的容器不支持 Key 和 Value 为 null,强行 put null 的 Key 或 Value 会出现空指针异常

恼人的空指针异常及解决方式

原文:https://www.cnblogs.com/alijun5201314/p/12840767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!