我有一个嵌套的地图m
这就好比:斯卡拉 - 减少/ foldLeft
m = Map("email" -> "[email protected]", "background" -> Map("language" -> "english"))
我有一个数组arr = Array("background","language")
如何foldLeft /减少阵列和查找的字符串“英文“从地图上。我尝试这样做:
arr.foldLeft(m) { (acc,x) => acc.get(x) }
但我得到这个错误:
<console>:10: error: type mismatch;
found : Option[java.lang.Object]
required: scala.collection.immutable.Map[java.lang.String,java.lang.Object]
arr.foldLeft(m) { (acc,x) => acc.get(x) }
不要有工作代码,但这里有一个提示:'M(“背景”)asInstanceOf [地图[字符串,字符串]( “语言”)'。 'm(“background”)'是一个'java.lang.Object',你需要额外的cast/match。然而,这个数据结构似乎有点奇怪,你应该考虑更多面向对象的东西。 –