2 Stimmen

Scala - Problem mit MapWrapper beim Upgrade von 2.7.7 auf 2.8.1

Ich habe dieses Stück Code, die ich geerbt, die gut unter Scala 2.7.7 (gut, Ersetzen der Import zu jcl verwenden) funktioniert. Aber wenn ich versuche, 2.8.1 zu verwenden, bekomme ich diesen Fehler:

error: nicht genügend Argumente für den Konstruktor MapWrapper: (underlying: scala.collection.Map[String,String])collection.JavaConversions.MapWrapper[String,String]. Nicht spezifizierter Wert Parameter zugrunde.

Map.empty ++ new MapWrapper[String, String] {

             ^

Ich habe Google hoch und niedrig, versuchte verschiedene Dinge, aber ich kann nicht finden, wie man den Code zu ändern, um auf scala 2.8.1 arbeiten

Jeder Hinweis wäre großartig.

Merci

import scala.collection.JavaConversions.MapWrapper

object errorObj{
  def convertToStringMap(javaMap: Hashtable[String, String]) = {
    Map.empty ++ new MapWrapper[String, String] {
        def underlyinga = javaMap
    }

  }
}

2voto

Debilski Punkte 65106

MapWrapper ist eine Klasse in Scala 2.8 (war ein Trait mit abstrakten Methoden in 2.7). Sie brauchen also die abstrakte Methode nicht zu definieren underlying mehr.

new MapWrapper[String, String](someMap)

2voto

Ken Bloom Punkte 54770

Besser noch, importieren Sie einfach scala.collection.JavaConversions._ und lassen Sie eine implizite Konvertierung die Java Map in eine MapWrapper für Sie.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X