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

ree*_*rix 4 groovy

我知道Groovy有null check运算符?,你可以在其中执行以下操作:params.name?将检查它是否为null,并返回null.有没有办法返回空字符串而不是null?就像是:

params.name? "" : params.name
Run Code Online (Sandbox Code Playgroud)

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

Foo myObj = new Foo(name : params.name? "" : params.name)
Run Code Online (Sandbox Code Playgroud)

cfr*_*ick 8

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

?在groovy中也没有操作员.无论是?:形成三元运算符或较短的版本?:埃尔维斯操作