加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy:在地图上找到一个键并返回其值

发布时间:2020-12-14 16:38:18 所属栏目:大数据 来源:网络整理
导读:我想在给定的地图中找到一个特定的键。如果找到密钥,我想从地图中获取该密钥的值。 这是我到目前为止管理的 def mymap = [name:"Gromit",likes:"cheese",id:1234]def x = mymap.find{ it.key == "likes" }if(x) println x.value 这个工作,输出是预期的“奶
我想在给定的地图中找到一个特定的键。如果找到密钥,我想从地图中获取该密钥的值。

这是我到目前为止管理的

def mymap = [name:"Gromit",likes:"cheese",id:1234]

def x = mymap.find{ it.key == "likes" }

if(x)
    println x.value

这个工作,输出是预期的“奶酪”。太好了,但我不想在最后做x.value,我不想做(x)。我想要x直接包含值。

我不能直接得到这个值,就像这样:

def mymap = [name:"Gromit",id:1234]

def x = mymap.find{ it.key == "likesZZZ" }.value

println x

因为在这种情况下,find close为null,所以会导致Null指针异常。当然,上面的代码片段可以在it.key ==“喜欢”时工作,但是我不确定我将始终在地图中找到目标键。

什么是“Groovier”和安全的方式来做这个在地图上:

>检查地图是否具有给定的键,
>如果是,请获取此键的值

解决方法

def mymap = [name:"Gromit",id:1234]
def x = mymap.find{ it.key == "likes" }?.value
if(x)
    println "x value: ${x}"

println x.getClass().name

?。检查null并且不会在Groovy中创建异常。如果键不存在,结果将是一个org.codehaus.groovy.runtime.NullObject。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读