java.lang.NullPointerException空指针异常(解决方案)
java.lang.NullPointerException今天又是写bug的一天,小结一下是如何解决空指针异常的,遇到更多的问题找到更多的解题思路自己才可以进步,加油!
一、实战问题
先说说我实战遇到的问题:我本身要从redis中取出帖子的点赞总数(likeCount),然后封装到Vo视图中,但是很多文章(帖子)本身点赞数就为0,所以你从redis取出来的值likeCount为空null
如果不进行判断直接封装,如下:
Object likeCount = redisTemplate.opsForValue().get(key);
postVo.setLikeCount((Integer) likeCount);
- 1
- 2
前端出现的情况如下
我错误的解决方案:我习惯性用.equals
来进行判断
项目一开马上报错
空指针异常
根据建议修改为StringUtils帮助类
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。
注意:在此免费赠送一套最新Java架构项目实战教程+大厂面试题库,有兴趣的 点击此处获取,没基础勿进!
二、总结反思
仔细反思一下为什么我刚刚会遇到空指针异常呢?
因为在这里我取到的likeCount为空,既然这个对象本身为空那自然不能调用这个方法。
所谓空指针异常,是因为用空(null)去调用属性或方法。null表示没有这个对象,既然没有这个对象,那么去调用他的属性和方法,就会报异常。
equals何时会空指针异常?
关于A.equals(B)-尽量是“常量”.equals(变量)
①对象为空(null),则不能调用方法;
②所以,为了避免出现空指针异常,应该这样写"要比较的字符串A.equals(变量B)
Hope that we can grow and progress as soon as possible and become an excellent Java Development Engineer
文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。
原文链接:blessing.blog.csdn.net/article/details/106696850
- 点赞
- 收藏
- 关注作者
评论(0)