我想在给定的地图中找到一个特定的键。如果找到键,我想从地图中获取该键的值。
这是我到目前为止所管理的:
def mymap = [name:"Gromit", likes:"cheese", id:1234]
def x = mymap.find{ it.key == "likes" }
if(x)
println x.value
这有效,输出如预期的那样是“奶酪”。很好,但我不想x.value
在最后做,我也不想做if(x)
。我希望 x 以某种方式直接包含该值。
我不能像这样将值直接输入 x :
def mymap = [name:"Gromit", likes:"cheese", id:1234]
def x = mymap.find{ it.key == "likesZZZ" }.value
println x
由于在这种情况下 find 闭包为空,因此会导致空指针异常。当然,上面的代码片段在 时有效it.key == "likes"
,但我不确定我是否总能在地图中找到目标键。
在地图上执行此操作的“Groovier”和安全方法是什么:
- 检查地图是否有给定的键,
- 如果是这样,得到这个键的值