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