【问题标题】:Is there a way in scala to convert from any Map to java.util.Map?scala 有没有办法从任何 Map 转换为 java.util.Map?
【发布时间】:2011-05-03 05:20:37
【问题描述】:

我使用了很多 scala 映射,有时我想将它们作为映射传递给需要 java.util.Map 的遗留 java api(我不在乎它是否会丢弃任何更改)。

【问题讨论】:

    标签: scala scala-java-interop


    【解决方案1】:

    我发现一个优秀的图书馆在这方面做得更好:

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

    (坏名字,很棒的图书馆)。您根据您想要的方向显式调用 .asJava 或 .asScala。没有惊喜。

    【讨论】:

      【解决方案2】:

      Scala 为 Java 集合提供了包装器,因此它们可以用作 Scala 集合,但反之则不行。话虽如此,编写自己的包装器可能并不难,我相信它对社区很有用。这个问题经常出现。

      【讨论】:

        【解决方案3】:

        这个question and answer 讨论这个确切的问题和可能的解决方案。它建议不要进行透明转换,因为它们可能会产生非常奇怪的副作用。它提倡改用scala-javautils。我已经在一个大型项目中使用它们几个月了,发现它们非常可靠且易于使用。

        【讨论】:

        • 我同意 - 透明转换通常会带来更多麻烦,然后节省(它不是完全清洗,有时它们很方便)。在 java 数组上使用 Seq 方法,最终其他集合类型还不错,但除此之外,我喜欢 scala-javautils。希望我很久以前就知道了。
        猜你喜欢
        • 2010-11-04
        • 2011-01-12
        • 1970-01-01
        • 2014-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-04
        相关资源
        最近更新 更多