私が取得私は、このパラメータは、Scalaの型であるScalaのプログラムjava mapをscalaに変換するにはLinkedHashMap型のマップ[String、ArrayList [String]]?
val rmap = Foo.baz(parameter)
にパラメータとして渡す必要があり
java.util.LinkedHashMap[String,java.util.ArrayList[String]]
:それでは、どのよう
Map[String,List[String]]
簡単に変換できますか
java.util.LinkedHashMap[String,java.util.ArrayList[String]]
Map[String,List[String]]
に私は輸入scala.collection.JavaConversions._を使用してみましたが、私の場合、これは動作しません(あるいは、少なくとも私は推測何thatsの)Scalaのコードはテンプレート関数であるため、私はできるだけで関数内にscala.collection.JavaConversions._をインポートします。 テンプレート関数は次のようである:
def someFunc(param: java.util.LinkedHashMap[String,java.util.ArrayList[String]]) = {
import scala.collection.JavaConversions._
val rmap = Foo.baz(param) // param is of scala type Map[String,List[String]]
.......
今ScalaはScalaの型にJavaの型を変換し、自動ではありません。
これは私が得るコンパイラエラーです。 エラーが発生しました:タイプの不一致。見つかりました:java.util.LinkedHashMap [文字列、java.util.ArrayListの[文字列]]が必要:地図[文字列、リスト[文字列]]
"明示的暗黙的変換"です。 <3スカラ。 :) – tsuna