[英]Error checking Object is null
我得到了一个获得json响应的HttpResponse。
现在,如果json响应包含数据,它一切正常,但每当json为null时,我的应用程序崩溃。
我一直在尝试遵循代码,但没有用。
(sb = json回复)
Object result11 = sb;
Log.d("Result11", result11.toString());
if (result11 == JSONObject.NULL)
Log.d("if", "I am NULL");
else
Log.d("else", "I am not null");
我尝试将result11比较为:
null, "", "null", JSONObject.NULL
它总是返回“我不是空”
虽然日志说Resul11 = null。
任何帮助,将不胜感激。 提前致谢。
编辑:
Object result11 = sb;
Log.d("Result11", result11.toString());
StringBuilder test = (StringBuilder)result11;
if (test.toString().equals("null"))
Log.d("if", "I am NULL");
else
Log.d("else", "I am not null");
解决方案由@Mark Byers提供
test.toString().trim().equals("null")
导致“我是空”
你没有null
。 你有一个StringBuilder
,转换为String
包含值"null"
。
要比较字符串,请不要使用==
运算符。 相反,您应该转换为String
并使用equals
方法。
StringBuilder stringBuilder = (StringBuilder)result11;
String trimmed = stringBuilder.toString().trim();
if (trimmed.equals("null")) { ... }
==
运算符比较引用,如果操作数是对同一对象(或两个空引用)的引用,则仅返回true。 equals
方法比较值。
有关
如果你得到一个null结果与空指针比较: result11 == null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.