我有一个类如何在groovy中串接字符串时摆脱“null”?
class A{
String name
String address
}
def a = new A()
a.address = "some address"
println "${a.name} ${a.address}" => "null some address"
这里a.name
是空的,所以字符串印刷意志包含“空”,但是我希望结果是"some address"
其忽略空值。
我知道打印时我可以用println "${a.name ?: ''} ${a.address ?: ''}"
,有没有更简单的解决方法?
建立在你的答案,你也可以暂时用一个类别来重新定义它:'@Category(NullObject)class NullObjectCategory {String toString(){''}}',然后在任何你想压制空值的地方使用它:'use(NullObjectCategory) {assert“$ aa $ ab”=='foobar'}' –
谢谢,这将解决我的问题,我认为在网页上向用户打印字符串时没有人想要“空” – donnior
@JustinPiper好点!感谢您的额外输入。更新答案。 –