2013-09-26 58 views
1

使用領域,而不是訪問從封閉我有類似如下的Groovy類:如何在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的方法將失敗,它似乎在每個封閉,酒吧屬性是使用槽配件,而不是現場。所以它是不可變的。

的問題是「我如何使用接線盒中的字段(而不是訪問)

感謝

+2

試試'this。@ bar [it] = it' –

+0

謝謝,它的工作原理。你可以發佈它作爲回答授予你點嗎? –

+0

完成,很高興我可以幫助:-) –

回答