具有Groovy字符串值的映射能否(干净地)转换为Java字符串
我认为这是一个简单的问题,虽然还不容易让我弄明白-所以我决定我会问 我的代码在Groovy中有一个映射,它是具有Groovy字符串值的映射能否(干净地)转换为Java字符串,groovy,Groovy,我认为这是一个简单的问题,虽然还不容易让我弄明白-所以我决定我会问 我的代码在Groovy中有一个映射,它是,我需要做的一件事是调用一个Java方法,该方法接受 所以我做了: def javaMap = new HashMap<String, String>() passedInProps.each { key, val -> javaMap.put(key, val.toString()) } // pass 'javaMap' to java method here
,我需要做的一件事是调用一个Java方法,该方法接受
所以我做了:
def javaMap = new HashMap<String, String>()
passedInProps.each { key, val ->
javaMap.put(key, val.toString())
}
// pass 'javaMap' to java method here - no problems!
defjavamap=newhashmap()
passedprops.each{key,val->
put(key,val.toString())
}
//在这里将“javaMap”传递给java方法-没有问题!
这“工作”很好,但看起来不太“棒”。我不能使用“扩展点”操作符或其他方法使这个更干净吗?我可以尝试以下方法:
Map jMap = passedInProps.collectEntries { key, value ->
[ (key) : value.toString() ]
}
我想试试这样的东西:
Map jMap = passedInProps.collectEntries { key, value ->
[ (key) : value.toString() ]
}
这看起来像是我想要的。然而,groovy jdk文档中的两个“collectMany”方法都表示它们返回集合,而不是映射。那么我应该用你说的话还是用“收集条目”??你在收集地图条目。是的-我开始键入一个答案,然后分心并输入另一个。这看起来像是我想要的。然而,groovy jdk文档中的两个“collectMany”方法都表示它们返回集合,而不是映射。那么我应该用你说的还是用“收集条目”呢?你是在为地图收集条目。是的,我开始键入一个答案,然后分心,换了一个答案。