2016-03-27 66 views
1

在Python中我能做到以下幾點:短if語句用法

return x or y 

my_function(x or y) 

如果x != null或不爲空將返回或通過其他xy

我的問題:

有辦法做到這一點在Java中縮短然後
return x == null ? y : x

myFunction(x == null ? y : x) 
+0

你使用的是什麼python版本? –

+4

我不確定我明白你實際要問什麼。 –

+1

我甚至不確定'x || y'在_any_ python版本中是有效的表達式,通常是'x if x else y'。 –

回答

1

我相信三元法是最高效和最短的。但是,如果你想進一步縮短事情的發展,你可以根據你的情況創建一個通用的靜態或非靜態方法來驗證這兩個對象。然後只是返回驗證的方法,而不是三元條件。例如像這樣的東西。

//usage 
Employee valid(Employee x, Employee y) { 
    return v(x,y); 
} 

//generic method for validation 
<T> T v(T o1, T o2) { 
    return o1==null?o2:o1; 
} 
0

好吧,我想你想要做的是從

X,使得到的價值是什麼== null? y:x

作爲函數的參數。

我發現這堆棧溢出: Short IF - ELSE statement。 也許這會有所幫助。

簡而言之:myFunction(x == null?y:x);應該工作正常。

+0

是的,但我的問題,有辦法縮短比myFunction(x == null?y:x)像在python – Tany