java.util.Map[String, Object] を scala.collection.immutable.Map[String, Any] に変換する 質問する

java.util.Map[String, Object] を scala.collection.immutable.Map[String, Any] に変換する 質問する

元のマップ内のすべての値 (整数、ブール値など) が Scala で適切に機能する適切な値に変換されるように、java.util.Map[String, Object] を scala.collection.immutable.Map[String, Any] に変換するにはどうすればよいですか。

ベストアンサー1

VonC が言うように、scala.collections.JavaConversion可変コレクションのみをサポートしますが、別のライブラリを使用する必要はありません。可変コレクションは、不変 Map を返すメソッドTraversableOnceを定義するから派生します。toMap

import scala.collection.JavaConversions._

val m = new java.util.HashMap[String, Object]()
m.put("Foo", java.lang.Boolean.TRUE)
m.put("Bar", java.lang.Integer.valueOf(1))

val m2: Map[String, Any] = m.toMap
println(m2)

出力は次のようになります

Map(Foo -> true, Bar -> 1)

おすすめ記事