簡體   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