首页 文章

如何从Groovy中的闭包使用字段而不是访问器

提问于
浏览
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属性是通过访问器使用的,而不是字段 . 所以这是不可改变的 .

问题是“如何在闭包内使用该字段(不是访问者)?

谢谢 .

1 回答

  • 1

    你可以像这样使用属性访问器操作符 @

    this.@bar[ it ] = it
    

相关问题