在Scala闭包中"解构"Map.Entry

Ral*_*lph 7 closures scala destructuring

val m: java.util.Map[String, Int] = ...
m.foreach { entry =>
  val (key, value) = entry
  // do stuff with key and value
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解构Map.Entry?我尝试了以下,但它没有编译:

m.foreach { (key, value) =>
  // do stuff with key and value
}
Run Code Online (Sandbox Code Playgroud)

agi*_*all 23

如果你愿意做一个理解,我喜欢:

for((key, value) <- m) println(key, value)
Run Code Online (Sandbox Code Playgroud)

但假设你想做m.foreach,我喜欢

 m.foreach{ case (key, value) => println(key, value) }
Run Code Online (Sandbox Code Playgroud)