在构造函数中设置值时,有没有办法 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
我知道 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