1

我有类似以下 groovy 类的东西:

class Foo {
   private Map<String,String> bar = [:]

   Map<String, String> getBar() {
       return bar.asImmutable()
   }

   def doSomething(List<String> argValues){
     argValues.each {
        bar[it] = it
     }
   }
}

doSomething 方法似乎会失败,在每个闭包中,bar 属性是使用槽访问器,而不是字段。所以它是不可变的。

问题是“我如何在闭包中使用该字段(而不是访问器)?

谢谢。

4

1 回答 1

1

您可以像这样使用属性访问器运算符@

this.@bar[ it ] = it 
于 2013-09-26T19:49:08.850 回答