如何将嵌套的scala集合转换为嵌套的Java集合
发布时间:2020-12-16 09:15:08 所属栏目:安全 来源:网络整理
导读:我有 Scala和 Java之间的编译问题. 我的Java代码需要一个 java.util.MapDouble,java.lang.IterableFoo 我的scala代码有一个 Map[Double,Vector[Foo]] 我得到编译错误: error: type mismatch;found : scala.collection.immutable.Map[scala.Double,Vector[Fo
我有
Scala和
Java之间的编译问题.
我的Java代码需要一个 java.util.Map<Double,java.lang.Iterable<Foo>> 我的scala代码有一个 Map[Double,Vector[Foo]] 我得到编译错误: error: type mismatch; found : scala.collection.immutable.Map[scala.Double,Vector[Foo] required: java.util.Map[java.lang.Double,java.lang.Iterable[Foo]] 似乎scala.collection.JavaConversions不适用于嵌套集合,即使Vector可以歪曲地转换为Iterable.通过scala收集和手动转换不足,我可以做些什么来使类型工作吗? 解决方法
scala.collection.JavaConversions应该不推荐使用IMHO.您最好通过使用scala.collection.JavaConverters来明确指出转换发生的时间和位置.在你的情况下
import scala.collection.JavaConverters._ type Foo = Int // Just to make it compile val scalaMap = Map(1.0 -> Vector(1,2)) // As an example val javaMap = scalaMap.map { case (d,v) => d -> v.toIterable.asJava }.asJava (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |