2014-02-22 94 views
2

我有一個數組,有時可能是null (strings[0]),我希望能夠檢測到它的空值,因此我不會收到錯誤,並且我可以告訴用戶。Java-空處理

我嘗試了if語句

(if (strings == null){ 
    //do my code 
}) 

,沒有工作。我試圖做try, catch (NullPointerException),但在我的IDE中出現錯誤。任何幫助將非常感激。

+0

看看我的答案。它會向您顯示每個空值的索引。 – Adam

回答

2

您應該檢查:

​​

這有助於如果數組不null並不是空的。

+1

我打算這麼說! :) – Astrobleme

+1

不是'array.length'而不是'array.size()'? – Astrobleme

+0

謝謝,我試過了,它沒有工作,但它似乎應該。此時我開始認爲錯誤來自其他地方。啊代碼,總是看起來像它應該工作,即使它沒有。 – NatServ

3
if (strings == null) 

返回true,如果字符串

你想要的是:

if (strings != null) 
+0

感謝您的建議,但字符串== null是我想要的,它只是不工作。 – NatServ

0

嘗試通過您的strings陣列循環和檢查,像這樣的空對象:

for (int i = 0; i < strings.length; i++) { 
    if (strings[i] == null) { 
     System.out.println("The item at index [" + i + "] is null!"); 
    } 
} 
0

都會響起來的是什麼人都表示早

if (strings == null) 
    //code here 

這種模式的偉大工程。需要記住的一點是,如果您想要使用短路組合條件,運營商。

這兩個邏輯運算符在可以確定布爾值時停止。

所以,如果我們的情況有

if (strings == null && someFunction() == anotherFunction()) 

的字符串爲空

someFunction() == anotherFunction() //<- this would not be evaluated. 

因爲假& & anyotherBool永遠不會爲真