在 Java 代码中将 Java 映射转换为 Scala 不可变映射

Kei*_*ith 6 scala

我有一个 Java 类,由于各种原因需要留在 Java 中。它正在调用使用 Scala 特征实现的类和需要 Scala 不可变映射的 Scala 实现的方法。是的,如果我有 Java Map 并且我正在 Scala 代码中进行转换,我已经看到了如何使用隐式和显式代码,但是我正在尝试从 Java 代码进行转换并且在 Stack Overflow 上没有看到类似的东西。

我正在使用 Eclipse,并且该项目添加了 Scala 性质。我尝试导入 scala.collection.JavaConverters,Eclipse 只是给我一个错误,说它找不到类,即使我在 Scala 库容器中打开 scala-library 时可以看到该类。我正在使用 Scala 2.11.8

如何在 Java 代码中编写将 Java Map 转换为 Scala Map 的显式代码?

Abh*_*pta -1

为什么不简单地使用toMap

就像是 :

import scala.collection.JavaConverters._

// asScala creates mutable Scala Map
// toMap after asScala creates immutable Map
val scalaImmutableMap = javaMap.asScala.toMap
Run Code Online (Sandbox Code Playgroud)

  • 因为Java地图没有“asScala”。 (2认同)