这是我到目前为止管理的
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" }.valueprintln x
因为在这种情况下,find close为null,所以会导致Null指针异常。当然,上面的代码片段可以在it.key ==“喜欢”时工作,但是我不确定我将始终在地图中找到目标键。
什么是“GroovIEr”和安全的方式来做这个在地图上:
>检查地图是否具有给定的键,
>如果是,请获取此键的值
def mymap = [name:"Gromit",ID:1234]def x = mymap.find{ it.key == "likes" }?.valueif(x) println "x value: ${x}"println x.getClass().name
?。检查null并且不会在Groovy中创建异常。如果键不存在,结果将是一个org.codehaus.groovy.runtime.NullObject。
总结以上是内存溢出为你收集整理的groovy:在地图上找到一个键并返回其值全部内容,希望文章能够帮你解决groovy:在地图上找到一个键并返回其值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)