当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。