【Groovy】GString是immutable的

Groovy里的GString是immutable的,测试一下下面的代码输出

a = 1
quote =   	 "${a}"
println quote
a = 2
println quote

 上面的两次输出是一样的,都是1, 而不是期望的第一次是1,第二次是2

那有什么办法能快速解决的。当然是有的。

a = 1
quote =   	 "${->a}"
println quote
a = 2
println quote

 使用Closure就可以搞定这个问题。

 

【Note】Groovy里的Closure很是强大,应好好理解,善加使用,威力无比。

posted @ 2013-01-26 16:49  卜海清  阅读(317)  评论(0)    收藏  举报