getString和optString的区别(补充toString和valueOf)
来源:互联网 发布:芮成钢间谍知乎 编辑:程序博客网 时间:2024/04/25 20:32
今天在写方法时,用getString报了一个错误,在控制台返回报文信息的时候报错,后来加断点发现,发现是这里出现的问题:
因为我在main中没有对某些参数传值
结果在控制台中出现了错误:
意思是currentdatetime值没有找到,为什么呢?在用getString时,如果没有获取到值时,会抛出一个JSONObject异常,告诉我们没有从数据里找到该字段;如果使用了optString,即使没有给值,也不会报异常,会正常执行。
上网搜了一下,原因如下(一看就明白):
optString源码:
return result!=null ? result : fallback;
getString源码:
if(result == null) {
throw JSON.typeMismatch(name,object,"String");
}
return result;
这不禁让我想到了,toString和valueOf的区别,感觉是大同小异,这里也说说吧,
valueOf方法源码这么写的:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
从这里也可以看出,valueOf是做了非空判断,使用toString前提,就是对象不可为null,否则,
Object obj=null;
obj.toString();
就会抛出NullPointerException异常。
如果有错误,请指正
阅读全文
0 0
- getString和optString的区别(补充toString和valueOf)
- optString和getString区别
- JSONObject的getString()和optString()的区别
- Json中optString和getString的区别
- JSON中optString和getString的区别
- JSON中optString和getString的区别
- JSON中optString和getString的区别
- JsonObject的optString()和getString()的区别
- 关于JSON中optString和getString的区别
- JSONObject中optString和getString等的区别
- jsonObject.getString() 和jsonObject.optString()区别
- JSON中optString()和getString()区别
- toString和valueOf()的区别
- JSON中getString() 和optString()
- JSON中getString() 和optString()
- JSONobject.getString()和JSONobject.optString()
- toString 和 String.valueof 的区别
- Javascript中valueOf()和toString()的区别
- js工具处理之数字转大写格式
- HDFS的一些理解
- React中函数的封装和数据的state数据存储【摄氏度和华氏度转化】
- 解决μvision ide已停止工作问题
- Marshaller生成的xml去掉报文头、设置格式、不处理转义字符的方法
- getString和optString的区别(补充toString和valueOf)
- java后台请求使用URLEncoder.encode给url追加中文乱码问题
- 微信网页版协议今天关闭,新的微信协议 HOOK技术
- php常用函数
- 漫反射着色
- 优化sql方法
- 静态变量与实例变量的区别
- (五下)安装ffi模块,使用electron调用win32 api, win32项目设置父子窗口关系
- 【视觉技术】ANDRÉS SOLÍS MONTERO(VIVA Lab)