我需要知道这两个代码之间有什么区别
JSONObject json = new JSONObject();
json.put("key1",null);
JSONObject json2 = json.getJSONObject("key1");
代码1:
if(!json2.isNullObject()){
//statement
}
代码2:
if(json2 != null){
//statement
}
答案 0 :(得分:-1)
TL; DR: 这两个代码都是针对相同条件的反向检查。
First检查对象是否为空JSONObject
。
if(json2.isNullObject()){
//statement
}
第二次检查返回的JSONObject
是否为空。
if(json2 != null){
//statement
}
了解JSONObject.NULL
代表的内容也很有用。
拥有NULL对象有时比使用Java的null值更方便,更不明确。
JSONObject.NULL.equals(null)
返回true
。JSONObject.NULL.toString()
会返回"null"
。
使用更新的库,您会发现使用 isNull
比您的方法更方便。