【发布时间】:2016-11-24 00:32:06
【问题描述】:
我知道如何使用 Java 库,并且我可以编写一些循环来完成我需要的东西,但问题更多,为什么 scala.collection.JavaConverters 或 scala.collection.JavaConverstions 中没有任何内容来转换 @ 987654323@ 到scala.collection.immutable.Stream?
我想做这样的事情:
def streamFiles(path: Path): Stream[Path] = {
Files.newDirectoryStream(path).asScala
}
但是我必须写这样的东西:
def streamFiles(path: Path): Stream[Path] = {
val path_it : java.util.Iterator[Path] = Files.newDirectoryStream(path).iterator()
def loop(it: java.util.Iterator[Path]): Stream[Path] =
if( it.hasNext )
it.next #:: loop(it)
else
Stream()
loop(path_it)
}
【问题讨论】:
-
您的问题不清楚。哪个流(Java 8 或 Scala)?这里有什么问题?你已经尝试过做什么?
-
Java8 流到 Scala 流的转换。所以两者兼而有之。我认为这会很清楚。
-
不是。请重写您的问题,最好使用一些与您想要实现的目标相关的代码。
-
@marcospereira 我添加了一些代码。我希望您现在对此感到非常满意,并很高兴能给我一个很好的答案。
-
已回答,因为其他用户可能也需要此类信息。
标签: scala collections scala-collections