猿问

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

我的程序中经常报java.lang.NullPointerException,

嗯,错误原因我知道,在哪里出错我也知道,

json数据在从后台查出来的时候,如果为空,就报出了空指针。但是我怎么能保证后套不为空呢?

或者有别的思路,或者你们碰到这样的问题了吗?

weibo_那是什么叨_03580699
浏览 1932回答 8
8回答

非学霸

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

耶斯古德

使用try catch 防止NullPointerExceptionshut down整个程式,然后再catch里做出后续的处理(赋予它一个初始值)

千湖之梦

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

疯子520520

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

qq_匡璐_0

就拿你说的json数据举例子.String s;  s.toString;  写过代码的都知道 必报空指针  , 大家都不会这么写对吧.正确的写法 String s = "我自己的String";   现在s怎么用都无所谓 都不会报空指针对吧因为这个s变量 是我自己创建的,它的一切一切都在我的掌握之中, 我知道它不为null  所以随便用 无所谓那服务器拿回来的json , 你是不知道他到底给了你个  String json; 还是String json = "服务器的json ";   你随便用程序就有可能出错, 为了不出错  加句代码如果 json==null return;  

黑女2008

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

yanrun

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

相关分类

Java
我要回答