首页 > 解决方案 > Groovy:通过变量调用LinkedHashMap的key

问题描述

我有从 xml 制作地图的递归函数

def get_map(groovy.xml.slurpersupport.Node Node) {
    nodeRootName = Node.name() 
    if (Node.childNodes().size() == 0) {
        return [(nodeRootName): (Node.text())]
    } else {
        subMap = [(nodeRootName):[]]
        for (subNode in Node.childNodes()) {
            subMap.nodeRootName.add(get_map(subNode))    
        }
        return subMap
    }
}

但我不能将函数称为.add参数。我有错误:java.lang.NullPointerException: Cannot invoke method add() on null object 如何map.key通过变量作为键调用?

标签: javagroovylinkedhashmap

解决方案


尝试这个:

subMap[nodeRootName].add(get_map(subNode))

推荐阅读