2015-11-16 37 views
2

我有一個有5個getter的對象,但只有一個getter返回非空值。我如何以簡明的方式將此值傳遞給其他函數?給出了幾個函數,其中只有一個返回非空值,將此非空值傳遞給其他函數

fun(
    object.getA() != null ? object.getA() : 
    object.getB() != null ? object.getB() : 
    object.getC() != null ? object.getC() : 
    object.getD() != null ? object.getD() : 
    object.getE() != null ? object.getE() : "error" 
) 

這是一個很好的方法,或者它可以改進?

+0

你可以寫一個函數來完成所有這些工作,所以你不需要每次重寫它。 – resueman

+0

@resueman是的,我知道,我的問題是關於選擇不是螺母值的代碼段是否正常,或者可以改進 – ctomek

+0

以更好地發佈http://codereview.stackexchange.com/ –

回答

0

由於一個方法將返回非null值,因此可以省略最後的條件檢查。

fun(
    object.getA() != null ? object.getA() : 
    object.getB() != null ? object.getB() : 
    object.getC() != null ? object.getC() : 
    object.getD() != null ? object.getD() : 
    object.getE() 
) 
相關問題