在我的哈希
中val envMap = collection.mutable.HashMap[String,Any]()
我有另一个哈希值,它是一个哈希数组
val servicesArray = scala.collection.mutable.ListBuffer[scala.collection.mutable.HashMap[String,Any]]()
envMap += "services" -> servicesArray
我正试图从envMap进入servicesArray
envMap.get("services").get.append(servicesMap)
但是我收到了这个错误 错误:值append不是Any
的成员我应该显式转换envMap.get(“services”)。获取一个列表以便我可以附加到它,还是有更好的方法来处理它?</ p>
当前回报值:
Any = ListBuffer(Map(One -> 1, Two -> ii))
我想要的是什么:
scala.collection.mutable.ListBuffer[scala.collection.mutable.HashMap[String,Any]] = ListBuffer(Map(One -> 1, Two -> ii))
答案 0 :(得分:0)
我想你应该声明这个:
val envMap = collection.mutable.HashMap[String,ListBuffer[scala.collection.mutable.HashMap[String,Any]]]()
正如OP提到的,并非所有值都是List,那么你可以这样做:
envMap.get("services").get match {
case s:ListBuffer[[scala.collection.mutable.HashMap[String,Any]]] => s.append(serviceMap)
case _: => // Or something else
}
您还可以将"services"
抽象出来,以便它对所有密钥都有用。