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

Is there a way to return an empty string for a null object in Groovy when setting values in a constructor?

我知道 Groovy 有空值检查运算符 ?,您可以在其中执行以下操作:params.name? 将检查它是否为空,return 是否为空。有没有办法 return 空字符串而不是空字符串?类似于:

params.name? "" : params.name

当您创建新对象并为 class 变量传递一个值时,例如:

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

你这里的顺序错了。 x ? y : x 会 return x,如果 x 空(假)。翻转代码:params.name ? params.name : "" 或更短:params.name ?: ""

此外 ? 不是 groovy 中的运算符。 ?: 都构成了 Ternary Operator or the shorter version ?: called the Elvis Operator