電話.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ます。
MapScala で言うときは、エイリアスcollection.immutable.Map以降について話していることに注意してください。PredefMap
scala> Map()
res0: scala.collection.immutable.Map[Nothing,Nothing] = Map()
したがって、あなたが言うとき、あなたは実際に Javaを Scala のrequest.getParameterMap.asInstanceOf[Map[String, Array[String]]]に暗黙的に変換するように Scala に要求しています。Mapcollection.immutable.MapMap