我有一個類如何在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好點!感謝您的額外輸入。更新答案。 –