2017-09-13 23 views
-3

我想知道我們是否可以在Java中使用相同的語句編寫空指針指針,就像我們在groovy中做的那樣?我有四個地方檢查null。這可以更簡化嗎?是否有可能使Java代碼爲Groovy風格

if(doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM") != null) { 
      if(doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM").item(0) != null) { 
       Node searchResultNode = doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM").item(0); 
       if(searchResultNode != null) { 
       } 
      } 
    } 

doc.getDocumentElement()?.getElementsByTagName("SEARCH-RESULT-ITEM")?.item(0) 

是否有可能

回答

1

你問是否有可能在一個普通的Java項目中寫Groovy的代碼一樣。簡單回答是不。

但是,可以通過將空檢查組合到一個條件中來簡化該語句。另外,如果doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM").item(0)不爲空,我們不需要檢查局部變量。

if (doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM") != null 
     && doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM").item(0) != null { 
      Node searchResultNode = doc.getDocumentElement().getElementsByTagName("SEARCH-RESULT-ITEM").item(0); 
} 

這樣做可以減少IF語句從3到1的數字,並消除冗餘空檢查:

所以我們可以結了。

0

在Java中沒有安全的解除引用。

一般來說不好的做法是拋開nulls,可選類也可能會在方法開始的時候遏制checkNotNull,但沒有像Groovy單行程序那樣花哨。

相關問題