鉴于我有一张这样的地图:
def myMap = [ b : [ c:"X" ] ]
还有一根绳子
def key = 'b.c'
我想查看使用密钥获取值“X”的选项。
我自己想出了两种方法来实现这一目标,但我对这些解决方案不太满意:
1) Eval.me("theMap", myMap, "theMap.$key")
2) mayMap."$key.split('\\.')[0]"."$key.split('\\.')[1]"
有人有更好的方法在 Groovy 中做到这一点吗?
一个方便的方法是使用配置对象 https://docs.groovy-lang.org/latest/html/gapi/groovy/util/ConfigObject.html它实现了 Map.
def myMap = [b:[c:'X', d: 'Y'], a:[n:[m:[x:'Y']]]] as ConfigObject
def props = myMap.toProperties()
assert props['b.c'] == 'X'
assert props.'b.c' == 'X'
assert props.'a.n.m.x' == 'Y'
Pros:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)