【发布时间】:2010-12-16 16:05:16
【问题描述】:
我有一个Java 方法接受Map<Long, Foo> 类型的参数。我正在尝试在 Scala 2.8.1 中为该方法编写单元测试并传入文字 Map[Long, Foo]。
我的代码如下所示:
import collection.JavaConversions._
x.javaMethod(asJavaMap(Map(1L -> new Foo, 2L -> new Foo)))
编译器给我以下错误:
error: type mismatch;
found : scala.collection.immutable.Map[scala.Long,Foo]
required: scala.collection.Map[java.lang.Long,Foo]
我也试过了
import collection.JavaConverters._
x.javaMethod(Map(1L -> new Foo, 2L -> new Foo))
和
import collection.JavaConversions._
x.javaMethod(Map(1L -> new Foo, 2L -> new Foo))
并得到错误:
error: type mismatch;
found : scala.collection.immutable.Map[scala.Long,Foo]
required: java.util.Map[java.lang.Long,Foo]
我该怎么做?
【问题讨论】:
标签: java scala autoboxing scala-java-interop