2014-03-14 76 views
0

我在eclipse kepler中有以下代碼行。eclipse中的冗餘null檢查kepler

if (this != null) { 

} 

!= null顯示錯誤「冗餘空檢查:這個表達式不能爲空」即使我已經通過的Java>編譯器改變了冗餘空檢查到的警告轉到>錯誤/警告>空分析

+1

你爲什麼要檢查,如果當前正在執行的實例爲空?這顯然不是。我知道你的問題是關於警告與錯誤,但我只是好奇。 – bosnjak

+0

呃,'this'永遠不能'null' ...如果你有'this''你的實例存在 – fge

+0

[Eclipse Kepler在警告中顯示錯誤標記]的可能重複(http://stackoverflow.com/questions/18488813/蝕-開普勒顯示錯誤的標誌上的警告) – helb

回答

3

考慮以下內容:

  • 關鍵字this只能在其被現有對象上執行的方法中使用一個實例方法,即內部。
  • this是指在其上調用方法
  • this只讀(不能明確指定null以它例如)的對象。
  • 在空對象上調用實例方法會導致異常。

因此,保證this從未空。

編譯器警告有助於識別沒有意義的代碼或永遠不會執行的代碼。

編輯:關於錯誤/警告日食開普勒的行爲,請參閱eclipse-kepler-shows-error-marks-on-warnings