из Java API я получаю
java.util.LinkedHashMap[String,java.util.ArrayList[String]]
, который мне затем нужно передать в качестве параметра в программу scala
val rmap = Foo.baz(parameter)
Этот параметр имеет тип scala:
Map[String,List[String]]
Так как я могу легко конвертировать
java.util.LinkedHashMap[String,java.util.ArrayList[String]]
в
Map[String,List[String]]
Я пытался использовать импорт scala.collection.JavaConversions._, но в моем случае это не работает (или, по крайней мере, это то, что я догадываюсь), потому что код 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 не выполняет автоматическое преобразование типа Java в тип Scala.
Это ошибка компилятора, которую я получаю: Возникла ошибка: несоответствие типов;найдено: java.util.LinkedHashMap [String, java.util.ArrayList [String]] требуется: Map [String, List [String]]