gpt4 book ai didi

java - 错误检查对象为空

转载 作者:行者123 更新时间:2023-12-02 07:22:45 25 4
gpt4 key购买 nike

我得到了一个 HttpResponse,它获取了 json 响应。

现在,如果 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") 

结果为“I AM NULL”

最佳答案

您没有null。您有一个 StringBuilder,当转换为 String 时,它包含值 “null”

要比较字符串,请勿使用 == 运算符。相反,您应该转换为 String 并使用 equals 方法。

StringBuilder stringBuilder = (StringBuilder)result11;
String trimmed = stringBuilder.toString().trim();
if (trimmed.equals("null")) { ... }

== 运算符比较引用,并且仅当操作数是对同一对象的引用(或都是空引用)时才返回 true。 equals 方法比较值。

相关

关于java - 错误检查对象为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14002822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com