我認爲我們可以依靠隱式轉換將scala.Double
轉換爲java.lang.Double
。所以我嘗試了以下方法:將Map [String,Double]轉換爲java.util.Map [String,java.lang.Double]
import scala.collection.JavaConverters._
object Main extends App {
def main(args: Array[String]) = {
val m = Map("10" -> 20.0)
doSome(m.asJava) //error. Type mismatch found: java.util.Map[String,scala.Double]
// required: java.util.Map[String,java.lang.Double]
doSome2(m.asJava)
}
def doSome(m: java.util.Map[java.lang.String, java.lang.Double]) = println(m)
def doSome2(m: java.util.Map[java.lang.String, Double]) = println(m)
}
爲什麼不起作用?執行這種轉換的慣用方法是什麼?
'asInstanceOf'不會讓您將Scala地圖轉換爲Java地圖。 –