I don’t know why you are trying to repeat the conversion from JavaConversions, but I think you can do this with the addition of an implicit parameter 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
}
From console
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}
source
share