2015-03-31 84 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

相关问题