當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala jdk.FunctionConverters用法及代碼示例


用法:

object FunctionConverters extends Priority0FunctionExtensions

該對象提供了在 Scala 和 Java 函數類型之間進行轉換的擴展方法。

編寫 Java 代碼時,請改用 javaapi.FunctionConverters 中定義的顯式轉換方法。

在 Scala 函數上使用 .asJava 擴展方法會產生最具體的 Java 函數類型:

scala> import scala.jdk.FunctionConverters._
scala> val f = (x: Int) => x + 1

scala> val jf1 = f.asJava
jf1: java.util.function.IntUnaryOperator = ...

可以使用相應的asJavaXYZ 擴展方法創建更通用的 Java 函數類型:

scala> val jf2 = f.asJavaFunction
jf2: java.util.function.Function[Int,Int] = ...

scala> val jf3 = f.asJavaUnaryOperator
jf3: java.util.function.UnaryOperator[Int] = ...

將 Java 函數轉換為 Scala 是使用 asScala 擴展方法完成的:

scala> List(1,2,3).map(jf2.asScala)
res1: List[Int] = List(2, 3, 4)

源碼:

FunctionConverters.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 jdk.FunctionConverters。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。