我有这段代码我继承了在Scala 2.7.7下运行良好(好吧,将导入替换为使用jcl)。但是当我尝试使用2.8.1时,我收到了这个错误:
错误:没有足够的构造函数MapWrapper参数:(底层:scala.collection.Map [String,String])collection.JavaConversions.MapWrapper [String,String]。 未指定的值参数。
Map.empty ++ new MapWrapper [String,String] {
^
我有谷歌的高低,试过不同的东西,但我找不到如何修改代码工作scala 2.8.1
任何指针都会很棒。
由于
import scala.collection.JavaConversions.MapWrapper
object errorObj{
def convertToStringMap(javaMap: Hashtable[String, String]) = {
Map.empty ++ new MapWrapper[String, String] {
def underlyinga = javaMap
}
}
}
答案 0 :(得分:2)
MapWrapper
是Scala 2.8中的一个类(在2.7中是抽象方法的特征)。因此,您不再需要定义抽象方法underlying
。
new MapWrapper[String, String](someMap)
答案 1 :(得分:2)
更好的是,只需导入scala.collection.JavaConversions._
并让隐式转换将Java Map转换为MapWrapper
。