Groovy 在使用ObservaleMap包装原始地图后,如何访问它?

Groovy 在使用ObservaleMap包装原始地图后,如何访问它?,groovy,observable,observers,Groovy,Observable,Observers,我已经创建了一个地图,然后将其包装为一个可观察地图。后来,我尝试访问原始的、未包装的地图,但似乎无法访问它。它似乎回来了 private def _swarms = [:] private def swarms = new ObservableMap(_swarms) ... def orig = swarms.content // returns null orig = swarms.mapDelegate // returns null 我看不出还有什么其他有希

我已经创建了一个地图,然后将其包装为一个可观察地图。后来,我尝试访问原始的、未包装的地图,但似乎无法访问它。它似乎回来了

private def _swarms = [:]
private def swarms = new ObservableMap(_swarms)
...
def orig = swarms.content        // returns null
orig = swarms.mapDelegate        // returns null

我看不出还有什么其他有希望的

对于
映射
接口,我们不能将
属性
引用为
字段
。它将尝试查找具有该名称的
,如果缺少
keyvalue
对,它将返回
null
。请尝试以下方法:

def _swarms = [ a : 1 ]
def swarms = new ObservableMap( _swarms )

assert swarms.getContent() == [ a : 1 ]
assert swarms.getMapDelegate() == [ a : 1 ]

// Similar anomaly
assert !swarms.class
assert swarms.getClass().simpleName == "ObservableMap"

类似地,您不能在
地图上使用
.class
。相反,必须使用
getClass()

是的,有点明显,不是吗?:)谢谢