在Scala中,我需要根据从另一个地图获得的密钥调用从地图中获取对象.'Java'就是:
map1.get(map2.get(topic).get) // Could throw java.util.NoSuchElementException
Run Code Online (Sandbox Code Playgroud)
但这看起来并不像Scala那样.Scala的做法是什么?
使用for-understanding.
for {
m2 <- map2.get(topic)
m1 <- map1.get(m2)
} yield {
m1
}
Run Code Online (Sandbox Code Playgroud)
这令人厌恶:
map2.get(topic).flatMap(map1.get)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
487 次 |
| 最近记录: |