如上所述here:有沒有辦法在java中執行「andand」技術?
我們連接對象及其方法(或屬性)與邏輯 AND運算(& &)調用,因此該方法只調用如果對象是 truthy(非空)。這種技術通常被稱爲「andand」。
在Ruby中,我們能夠做到這一點:
name = @person && @person.name
這樣,我們就不必明確檢查@person
爲null。
在java中是否有類似的技術?
如上所述here:有沒有辦法在java中執行「andand」技術?
我們連接對象及其方法(或屬性)與邏輯 AND運算(& &)調用,因此該方法只調用如果對象是 truthy(非空)。這種技術通常被稱爲「andand」。
在Ruby中,我們能夠做到這一點:
name = @person && @person.name
這樣,我們就不必明確檢查@person
爲null。
在java中是否有類似的技術?
嘗試ternary operator
然而它不是非常類似於&&
技術,但只是以這種方式工作。
person != null ? peson.name : <default name>
Java確實有short-circuit evaluation。問題是Java不假定null
等於false
(而非非空 - 等效於true
)。
不,只有在檢查字符串時,可以通過反轉比較順序來實現此目的。
而不是
if (role != null && role.equals("admin"))
你會寫
3210
你想要做的和操作,或你在找一個簡單的方法來檢查,如果屬性爲null? – Pace
我想檢查屬性是否爲空,並在單個代碼行中分配值。 – Ger
http://laktek.com/2011/11/23/basic-patterns-for-everyday-programming/ – jpredham