我的程序中经常报java.lang.NullPointerException,嗯,错误原因我知道,在哪里出错我也知道,json数据在从后台查出来的时候,如果为空,就报出了空指针。但是我怎么能保证后套不为空呢?或者有别的思路,或者你们碰到这样的问题了吗?
8 回答
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;
黑女2008
TA贡献75条经验 获得超32个赞
这种就看你业务了,要不就判断为空给提示,要不就json初始化默认数据,保证不要报错。也可以给你的json有个状态参数,status 为0表示获取到数据,正常读取,为-1表示没获取到数据,给相应提示。
yanrun
TA贡献317条经验 获得超240个赞
一种解决办法是假如查询的是Book,如果数据库中不存在id=5的记录不返回null,而是返回一个new Book(),在通过判断这个Book对象的id是否为0来决定是否存在此对象,还有一种就是java8中的Optional类型
添加回答
举报
0/150
提交
取消