電話.toMap
してみてはどうですか?
import collection.JavaConversions._
val x = java.util.Collections.unmodifiableMap[Int,Int](new java.util.HashMap[Int,Int]())
val y: Map[Int,Int] = x.toMap //y: Map[Int,Int] = Map()
を呼び出さないとtoMap
、変更可能なScala マップJavaConversions
に暗黙的に変換されるだけです。
scala> val z: collection.mutable.Map[Int,Int] = x
z: scala.collection.mutable.Map[Int,Int] = Map()
おそらくこれは、JavaMap
がミュータブルであるためです。mutable.Map
そのため、明示的に に変換するまでは、Scala では としてのみ表現する必要がありimmutable.Map
ます。
Map
Scala で言うときは、エイリアスcollection.immutable.Map
以降について話していることに注意してください。Predef
Map
scala> Map()
res0: scala.collection.immutable.Map[Nothing,Nothing] = Map()
したがって、あなたが言うとき、あなたは実際に Javaを Scala のrequest.getParameterMap.asInstanceOf[Map[String, Array[String]]]
に暗黙的に変換するように Scala に要求しています。Map
collection.immutable.Map
Map