2015-03-31 27 views
1

我知道Groovy有空檢查運算符?,您可以在其中執行如下操作:params.name?它將檢查它是否爲空,並返回null。有沒有辦法返回空字符串而不是null?喜歡的東西:有沒有辦法在構造函數中設置值時返回Groovy中的空對象的空字符串?

params.name? "" : params.name 

當你創建一個新的對象和你在一個值傳遞的類變量,如:

Foo myObj = new Foo(name : params.name? "" : params.name) 
+0

可能重複(http://stackoverflow.com/questions/18001965/named-parameters-with-默認值功能於常規) – 2015-03-31 15:46:34

回答

3

你有次序錯在這裏。 x ? y : x將返回x,如果x null(falsey)。打開代碼:params.name ? params.name : ""甚至更​​短:params.name ?: ""

另外?在groovy中是沒有操作符的。兩者?:形式Ternary Operator或較短版本?:稱爲的[與常規的默認值命名的參數]的Elvis Operator

相關問題