繁体   English   中英

检查Object的错误是null

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM