有没有办法在构造函数中设置值时返回Groovy中的空对象的空字符串?
问题描述:
我知道Groovy有空检查运算符?
,您可以在其中执行如下操作:params.name?
它将检查它是否为空,并返回null。有没有办法返回空字符串而不是null?喜欢的东西:有没有办法在构造函数中设置值时返回Groovy中的空对象的空字符串?
params.name? "" : params.name
当你创建一个新的对象和你在一个值传递的类变量,如:
Foo myObj = new Foo(name : params.name? "" : params.name)
答
你有次序错在这里。 x ? y : x
将返回x,如果x 是 null(falsey)。打开代码:params.name ? params.name : ""
甚至更短:params.name ?: ""
另外?
在groovy中是没有操作符的。两者?
和:
形式Ternary Operator或较短版本?:
称为的[与常规的默认值命名的参数]的Elvis Operator
可能重复(http://stackoverflow.com/questions/18001965/named-parameters-with-默认值功能于常规) – 2015-03-31 15:46:34