在构造函数中设置值时,有没有办法在Groovy中为空对象返回空字符串?

时间:2015-03-31 14:47:19

标签: groovy

我知道Groovy有空检查操作符?,您可以在其中执行以下操作:params.name?,它将检查它是否为null,并返回null。有没有办法返回空字符串而不是null?类似的东西:

params.name? "" : params.name

当您创建一个新对象并且传入类变量的值时,例如:

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

1 个答案:

答案 0 :(得分:6)

你在这里订单错了。如果x 为null(falsey),x ? y : x将返回x。转换代码:params.name ? params.name : ""甚至更短:params.name ?: ""

同样?在groovy中不是运算符。 ?:形成Ternary Operator或较短版本?:,称为Elvis Operator