groovy:从map中的键获取一个值(这是一个列表)

时间:2016-04-29 20:29:14

标签: groovy

我一直在尝试从地图中的某个键获取特定值(这是一个列表)。我总是得到[null, null]。我从网上找到的东西中尝试了一切。

// returns null

def key = "name"
def map = [name:[hello, there]]
log.debug "map value ${map[key]}"

// returns hello

def key = "name"
def map = [name:"hello"]
log.debug "map value ${map[key]}"

如何让上述内容将值作为列表返回,即[hello, there]

2 个答案:

答案 0 :(得分:1)

如果您使用字符串设置地图(而不是在问题中没有引号),请执行以下操作:

def key = "name"
def map = [name:['hello', 'there']]

然后map[key]将返回列表['hello', 'there']

assert map[key] == ['hello', 'there']

答案 1 :(得分:1)

您缺少字符串值周围的引号。而不是

def key = "name"
def map = [name:[hello, there]]
log.debug "map value ${map[key]}"

你需要

def key = "name"
def map = [name:['hello', 'there']]
log.debug "map value ${map[key]}"