1. 程式人生 > >Java的if判斷物件為null時,null放在比較運算子的左邊還是右邊較好?

Java的if判斷物件為null時,null放在比較運算子的左邊還是右邊較好?

  如java中:if(name == null)和if(null == name)有什麼講究嗎?

  答:在java裡面,它們是一樣的。但是通常寫為null == name。這其實是在C語言裡面引申出來的。

  在C語言裡面,為了防止少敲一個等號,程式設計人員仍然能在編譯的時候找到錯誤。因為if(name = null)在編譯的時候不會出現錯誤,而if(null = name)是會編譯出錯的。

  故而,null == name這種寫法,是從C語言的程式設計習慣中引入的。但是實際上在java裡面,if(nam = null)是會出現編譯錯誤的。會報如下錯誤:

  Type mismatch: cannot convert from XXX to boolean(型別匹配錯誤:不能從XXX轉換為boolean型別)

  所以在java裡面不必擔心這個問題。但是,良好的程式設計習慣,還是寫成null == name的好。