可以将具有Groovy String值的Map(干净地)转换为Java String

Joe*_*oeG 1 groovy

我认为这是一个简单的,虽然不容易让我弄清楚 - 所以我决定我会问....

我的代码在Groovy中给出了一个Map,<String,GString>我需要做的一件事就是调用一个带有a的Java方法<String, String>.

所以我做了:

def javaMap = new HashMap<String, String>()
passedInProps.each { key, val ->
    javaMap.put(key, val.toString())
}
// pass 'javaMap' to java method here - no problems!
Run Code Online (Sandbox Code Playgroud)

哪个"有效",但看起来并不像'Groovy'.我不能使用spread dot操作符或其他东西来使这个更干净吗?

BZ.*_*BZ. 5

我会尝试这样的事情:

Map jMap = passedInProps.collectEntries { key, value -> 
    [ (key) : value.toString() ] 
}
Run Code Online (Sandbox Code Playgroud)