HTH. Легко сделать со стороны Scala.
scala> import collection.JavaConverters._
import collection.JavaConverters._
scala> val m = Map("one"->1)
m: scala.collection.immutable.Map[String,Int] = Map(one -> 1)
scala> val jm = m.asJava
jm: java.util.Map[String,Int] = {one=1}
scala> val hm = new java.util.Hashtable(jm)
<console>:12: error: type mismatch;
found : java.util.Map[String,Int]
required: Int
val hm = new java.util.Hashtable(jm)
^
scala> import java.util._
import java.util._
scala> val hm: Dictionary[String,Int] = new java.util.Hashtable(jm)
hm: java.util.Dictionary[String,Int] = {one=1}
Edit: Человек, который был болезненным:
import java.util.*;
public class JavaMapper {
public Dictionary<String, Integer> n() {
return new Hashtable<String, Integer> (
(Map<String, Integer>)
scala.collection.JavaConverters$.MODULE$.mapAsJavaMapConverter((new ScalaMap().m())) // where m returns a Map, of course
);
}
}
Является ли ваш проект Java или Scala? –
Его в scala. Я использую sbt для сборки –
. В качестве примечания, вы никогда не должны использовать словарь или Hashtable в новом коде, если не взаимодействовать с древним кодом, который его требует. Вместо этого используйте интерфейс карты (и обычно HashMap). – chrylis