Я не знаю, почему вы пытаетесь повторить преобразование из JavaConversions
, но я думаю, что вы можете сделать это, добавив неявный параметр ma
запрашивается:
import scala.collection.JavaConversions._
class A[K,V](m : collection.mutable.Map[K,V]) {
def asJava(implicit ma:ClassManifest[K]) : java.util.Map[K,V] = m
}
Из консоли
scala> import scala.collection.JavaConversions._
class A[K,V](m : collection.mutable.Map[K,V]) {
def asJava(implicit ma:ClassManifest[K]) : java.util.Map[K,V] = m
}
import scala.collection.JavaConversions._
scala>
defined class A
scala> val map=scala.collection.mutable.HashMap[Int, Int]()
map: scala.collection.mutable.HashMap[Int,Int] = Map()
scala> map += 0->1
res3: map.type = Map(0 -> 1)
scala> val a=new A(map)
a: A[Int,Int] = A@761635
scala> a.asJava
res4: java.util.Map[Int,Int] = {0=1}