我想将下面方法的返回类型更改为Future[Unit]
def send(data: Array[Byte]): CompletableFuture[Void] = {
val f:CompletableFuture[Void] = client.send(data)
f
}
我使用的是Scala 2.12.1。有没有方便的方法从Java 8 CompletableFuture
转换为Scala' Future
?
答案 0 :(得分:25)
答案 1 :(得分:1)
尽管asker在2017年提到了2.12,但现在我们有了2.13,并且转换变得更加容易:
从Scala 2.13开始,标准库包括scala.jdk.FutureConverters,它提供Java至Scala的CompletableFuture / Future隐式转换:
import scala.jdk.FutureConverters._
val scalaFuture = javaFuture.asScala