我已经创建了一个映射,然后将它包装为一个ObservableMap。稍后,我尝试访问原始的、未包装的地图,但我似乎无法访问它。它似乎是空的。
private def _swarms = [:]
private def swarms = new ObservableMap(_swarms)
...
def orig = swarms.content // returns null
orig = swarms.mapDelegate // returns null在http://groovy.codehaus.org/api/groovy/util/ObservableMap.html,我没有看到任何看上去有希望的东西。
发布于 2015-01-07 03:00:17
在property接口的情况下,我们不能将Map称为Map。它将尝试查找具有该名称的key,并在没有null对的情况下返回key<->value。试一试:
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上使用Map。相反,必须使用getClass()。
https://stackoverflow.com/questions/27809250
复制相似问题