由json引起的空指针异常

由于json是根据pojo类的get方法获取属性的,所以有时候会对一些状态码进行转换,比如说status=0/1,应该给用户展示为status=禁用/启用,但数据库里不需要这个字符串,因此使用了下面这个方法去转换:

public String getStatusStr() {

    if(this.status == 1){
        return "启用";
    }

    return "禁用";
}

然后在前端页面调用这个statusStr属性,结果报了空指针异常。

严重: Servlet.service() for servlet [com.itheima.web.selectAllServlet] in context with path [/brand-demo] threw exception
java.lang.NullPointerException
    at com.itheima.pojo.Brand.getStatusStr(Brand.java:24)

最后的解决办法:

空指针解决思路就是缺啥找啥,查看了一下status,发现之前测试的时候填入了一个没写status的数据,应该就是这个数据导致的空指针

由json引起的空指针异常

 

删除后,果然恢复正常。

由json引起的空指针异常

 

 总结:平时写代码的时候应该养成良好的习惯,考虑全面各种可能空指针的情况,比如说用户输入的内容input_value和password比较,应该是password.equal(input_value)而不是input_value.equal(password)。

上一篇:docker服务发现——confd


下一篇:对象的使用