Scala - проблема с использованием MapWrapper при обновлении с 2.7.7 до 2.8.1 - PullRequest
2 голосов
/ 01 декабря 2010

У меня есть этот фрагмент кода, который я унаследовал, который хорошо работает в 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] {

             ^

У меня есть Google High и Low, пробовал разные вещи, но я могу 'Не могу найти способ изменить код для работы с 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 ]

2 голосов
/ 02 декабря 2010

Еще лучше, просто импортируйте scala.collection.JavaConversions._ и позвольте неявному преобразованию превратить карту Java в MapWrapper для вас.

2 голосов
/ 02 декабря 2010

MapWrapper - это класс в Scala 2.8 (черта с абстрактными методами в 2.7). Таким образом, вам больше не нужно определять абстрактный метод underlying.

new MapWrapper[String, String](someMap)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...