scala - 如何将 Java Iterable 转换为 Scala Iterable?

标签 scala scala-java-interop

有没有简单的方法来转换

java.lang.Iterable[_]

到一个

Scala.Iterable[_]

最佳答案

在 Scala 2.8 中,这变得更加容易,并且有两种方法可以实现它。一种显式的(尽管它使用隐式):

import scala.collection.JavaConverters._

val myJavaIterable = someExpr()

val myScalaIterable = myJavaIterable.asScala

编辑:自从我写这篇文章以来,Scala 社区已经达成了广泛的共识:JavaConverters很好,并且JavaConversions很糟糕,因为有可能发生令人毛骨悚然的远距离作用。所以不要使用JavaConversions完全没有!

<小时/>

并且更像是隐式隐式::)

import scala.collection.JavaConversions._

val myJavaIterable = someExpr()

for (magicValue <- myJavaIterable) yield doStuffWith(magicValue)

<罢工>

关于scala - 如何将 Java Iterable 转换为 Scala Iterable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072784/

相关文章:

java - Scala SBT 和 scala-library.jar 文件包含

java - 我可以从 Java 访问 Scala 对象的不带括号的 val 吗?

scala - 在Scala中为多个变量分配相同的值

Scala 编译错误 : "No implicit view available" and "diverging implicit expansion"

multithreading - 如何保持在内存的范围内

scala - 使用 Scala 的 Java 泛型方法

java - 无法从 Scala 访问 Java 静态方法

java - 从 Java 调用 Scala "val function"会出现错误

scala - 将列表映射拆分为映射列表的功能方法

scala - Spark : How to map an RDD when access to another RDD is required