【发布时间】:2014-07-27 19:43:52
【问题描述】:
我找到了一个解决方案,但不是太优雅:
mapAsJavaMap(Map("param1"->someObject, "param2"->otherObject ))
我发现了一些包含“asJava”调用的示例,但它在我的 Scala 2.10.X 配置中不起作用。
【问题讨论】:
-
“不工作”是什么意思?
标签: java scala map type-conversion
我找到了一个解决方案,但不是太优雅:
mapAsJavaMap(Map("param1"->someObject, "param2"->otherObject ))
我发现了一些包含“asJava”调用的示例,但它在我的 Scala 2.10.X 配置中不起作用。
【问题讨论】:
标签: java scala map type-conversion
有对象JavaConverters 可以为您解决问题:
import scala.collection.JavaConverters.mapAsJavaMapConverter
Map("param1"-> 1, "param2"-> 2).asJava
//> res0: java.util.Map[String,Int] = {param1=1, param2=2}
编辑:使用通配符导入确实是一个糟糕的编程习惯,因为它们会使您的命名空间变得混乱,并且可能会将意外的隐式转换/值引入范围。因此将通配符导入更改为显式导入。
【讨论】:
._)?投反对票。
asJava 时才会发生转换,否则我极不可能使用这个符号,所以我对在这些转换器中使用通配符导入没有任何疑虑。 IIRC 还有另一个转换包不需要你调用任何东西,是的,我会小心那个。