2011-03-04 27 views
1

我從doseTimeString空值,當我輸出,:得到一個NullPointerException異常字符串比較

Log.d("dosetimeString", "" + dosetimeString); 

但是,如果我在這條線使用if條件,它給了我一個NullPointerException:

if (dosetimeString.equals("null") || dosetimeString == null 
    || dosetimeString.equals("")) { 
} 

回答

1

這是因爲首先你測試

dosetimeString.equals("null") 

有您嘗試訪問變量dosetimeString這是空。

所以只需使用:

dosetimeString == null 
1

這是因爲doestimeString爲空。您無法訪問空對象上的成員函數!

把doestiemString == null放在doestimeString.equals(「null」)之前,你應該沒問題。

if (dosetimeString == null || dosetimeString.equals("null") || dosetimeString.equals("")){ 

} 
4

該NullPointerException異常是發生在此位的if語句:

dosetimeString.equals("null") 

,因爲你是一個空的對象上調用的方法,並作爲Roflcoptr說,如果你真的需要所有這些測試,你應該讓該行寫着:

if (dosetimeString == null || dosetimeString.equals("null") || dosetimeString.equals("")) { 

不過,如果你只是要檢查是否爲空,你只需要第一個條件。

if (dosetimeString == null) {