Scala代码中的Java 8 Stream

Som*_*kar 3 java scala java-8 java-stream

我正在尝试从以下Scala代码中使用Java 8 Stream,并遇到编译错误。

任何帮助表示赞赏!

def sendRecord(record: String): Unit throws Exception

bufferedReader.lines().forEach(s => sendRecord(s))

Cannot resolve forEach with such signature, expect: Consumer[_ >: String], actual: (Nothing)
Run Code Online (Sandbox Code Playgroud)

PS:尽管有迹象表明它几乎是直截了当的,例如https://gist.github.com/adriaanm/892d6063dd485d7dd221,但它似乎不起作用。我正在运行Scala 2.11.8

che*_*ohi 5

您可以将其转换为iteratoriterate java Stream,例如:

import scala.collection.JavaConverters._
bufferedReader.lines().iterator.asScala.forEach(s => sendRecord(s))
Run Code Online (Sandbox Code Playgroud)