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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |