1
我有一個接收Scala流的Java應用程序。我需要將其轉換爲Java Stream。我怎樣才能在Java中做到這一點?Java - 如何將Scala流轉換爲Java流
我有一個接收Scala流的Java應用程序。我需要將其轉換爲Java Stream。我怎樣才能在Java中做到這一點?Java - 如何將Scala流轉換爲Java流
這是一個有點繞很長的路要走,但你可以斯卡拉流轉換爲可迭代,到Java迭代,然後從Java迭代構建Java流:
scala>
import java.util.stream.StreamSupport
import scala.collection.JavaConverters._
def stream2javaStream[T](scalaStream: scala.Stream[T]): java.util.stream.Stream[T] = {
StreamSupport.stream(scalaStream.toIterable.asJava.spliterator(), false);
}
stream2javaStream((1 to 100).toStream)
res0: java.util.stream.Stream[Int] = [email protected]
雖然迂迴,這不「實現」流,保持其效率。
scala>
stream2javaStream((1 to 100).toStream.map{i => println(i); i})
1
res1: java.util.stream.Stream[Int] = [email protected]
只爲流
目前還不清楚什麼你問的頭打印1。你在Scala方面有哪些類型,以及你在Java方面需要哪種類型? – Haspemulator
斯卡拉方面正在創建一個Scala流,並在Java端我需要將其轉換爲Java輸入/輸出流, –