为了账号安全,请及时绑定邮箱和手机立即绑定

一个空指针异常,求指教。

一个空指针异常,求指教。

weibo_那是什么叨_03580699 2016-08-30 11:37:49
我的程序中经常报java.lang.NullPointerException,嗯,错误原因我知道,在哪里出错我也知道,json数据在从后台查出来的时候,如果为空,就报出了空指针。但是我怎么能保证后套不为空呢?或者有别的思路,或者你们碰到这样的问题了吗?
查看完整描述

8 回答

?
非学霸

TA贡献9条经验 获得超0个赞

建议在写业务层的时候,写一个异常处理。要么在mapper中定义一下,防止出现这类问题。

查看完整回答
反对 回复 2017-10-23
?
耶斯古德

TA贡献1条经验 获得超0个赞

使用try catch 防止NullPointerException

shut down整个程式,然后再catch里做出后续的处理(赋予它一个初始值)


查看完整回答
反对 回复 2016-08-31
?
千湖之梦

TA贡献10条经验 获得超7个赞

记住永远不信任方法外部来的对象,每一个外部来的对象都要考虑是否药判空再调用其方法,就可以有效保证少出现这个问题了

查看完整回答
反对 回复 2016-08-30
?
疯子520520

TA贡献39条经验 获得超236个赞

空指向异常只是一个大的类型问题,许多的错误信息都需要慢慢的查找体会的,只能意会不能言传

查看完整回答
反对 回复 2016-08-30
?
qq_匡璐_0

TA贡献96条经验 获得超96个赞

就拿你说的json数据举例子.

String s;  s.toString;  写过代码的都知道 必报空指针  , 大家都不会这么写对吧.

正确的写法 String s = "我自己的String";   现在s怎么用都无所谓 都不会报空指针对吧

因为这个s变量 是我自己创建的,它的一切一切都在我的掌握之中, 我知道它不为null  所以随便用 无所谓

那服务器拿回来的json , 你是不知道他到底给了你个  String json; 还是String json = "服务器的json ";   你随便用程序就有可能出错, 为了不出错  加句代码如果 json==null return;  

查看完整回答
反对 回复 2016-08-30
?
黑女2008

TA贡献75条经验 获得超32个赞

这种就看你业务了,要不就判断为空给提示,要不就json初始化默认数据,保证不要报错。也可以给你的json有个状态参数,status 为0表示获取到数据,正常读取,为-1表示没获取到数据,给相应提示。

查看完整回答
反对 回复 2016-08-30
?
yanrun

TA贡献317条经验 获得超240个赞

一种解决办法是假如查询的是Book,如果数据库中不存在id=5的记录不返回null,而是返回一个new Book(),在通过判断这个Book对象的id是否为0来决定是否存在此对象,还有一种就是java8中的Optional类型

查看完整回答
反对 回复 2016-08-30
  • 8 回答
  • 0 关注
  • 1893 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信