7 Stimmen

Gibt es eine Möglichkeit in Scala zu konvertieren von jeder Karte zu java.util.Map?

Ich benutze eine Menge von Scala-Maps, gelegentlich möchte ich sie in als eine Karte zu einem Legacy-Java-Api übergeben, die eine java.util.Map will (und ich kümmere mich nicht, wenn es alle Änderungen wegwirft).

7voto

Michael Neale Punkte 19010

Ich habe eine ausgezeichnete Bibliothek gefunden, die diese Aufgabe besser erfüllt:

http://github.com/jorgeortiz85/scala-javautils

(schlechter Name, großartige Bibliothek). Sie rufen explizit .asJava oder .asScala auf, je nachdem, in welche Richtung Sie gehen wollen. Keine Überraschungen.

2voto

Erik Engbrecht Punkte 3174

Scala bietet Wrapper für Java-Sammlungen, so dass diese als Scala-Sammlungen verwendet werden können, aber nicht umgekehrt. Davon abgesehen wäre es wahrscheinlich nicht schwer, einen eigenen Wrapper zu schreiben, und ich bin sicher, dass er für die Community nützlich wäre. Diese Frage taucht regelmäßig auf.

1voto

David Punkte 1772

Diese Frage und Antwort über genau dieses Problem und die möglichen Lösungen diskutieren. Er rät von transparenten Konvertierungen ab, da sie sehr seltsame Nebenwirkungen haben können. Er befürwortet die Verwendung von scala-javautils stattdessen. Ich verwende sie seit einigen Monaten in einem großen Projekt und habe festgestellt, dass sie sehr zuverlässig und einfach zu verwenden sind.

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