java.lang.NullPointerException空指针异常(解决方案)

举报
辰兮 发表于 2022/03/22 22:42:44 2022/03/22
【摘要】 java.lang.NullPointerException今天又是写bug的一天,小结一下是如何解决空指针异常的,遇到更多的问题找到更多的解题思路自己才可以进步,加油! 文章目录 一...

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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。