Scala - 从2.7.7升级到2.8.1时使用MapWrapper时出现问题

时间:2010-12-01 20:56:21

标签: scala

我有这段代码我继承了在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
    }

  }
}

2 个答案:

答案 0 :(得分:2)

MapWrapper是Scala 2.8中的一个类(在2.7中是抽象方法的特征)。因此,您不再需要定义抽象方法underlying

new MapWrapper[String, String](someMap)

答案 1 :(得分:2)

更好的是,只需导入scala.collection.JavaConversions._并让隐式转换将Java Map转换为MapWrapper

相关问题