FunctionConverters

scala.jdk.FunctionConverters

This object provides extension methods that convert between Scala and Java function types.

When writing Java code, use the explicit conversion methods defined in javaapi.FunctionConverters instead.

Using the .asJava extension method on a Scala function produces the most specific possible Java function type:

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

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

More generic Java function types can be created using the corresponding asJavaXYZ extension method:

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

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

Converting a Java function to Scala is done using the asScala extension method:

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

Attributes

Source
FunctionConverters.scala
Graph
Supertypes
Self type

Members list

Implicits

Inherited implicits

implicit def enrichAsJavaBiConsumer[T, U](sf: (T, U) => Unit): RichFunction2AsBiConsumer[T, U]

Attributes

Inherited from:
Priority2FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaBiFunction[T, U, R](sf: (T, U) => R): RichFunction2AsBiFunction[T, U, R]

Attributes

Inherited from:
Priority3FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaBiPredicate[T, U](sf: (T, U) => Boolean): RichFunction2AsBiPredicate[T, U]

Attributes

Inherited from:
Priority2FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaBinaryOperator[T, A1, A2](sf: (T, A1) => A2)(implicit evA1: A1 =:= T, evA2: A2 =:= T): RichFunction2AsBinaryOperator[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaConsumer[T](sf: T => Unit): RichFunction1AsConsumer[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoubleBinaryOperator[A0, A1](sf: (A0, A1) => Double)(implicit evA0: A0 =:= Double, evA1: A1 =:= Double): RichFunction2AsDoubleBinaryOperator

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoubleConsumer[A0](sf: A0 => Unit)(implicit evA0: A0 =:= Double): RichFunction1AsDoubleConsumer

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoubleFunction[A0, R](sf: A0 => R)(implicit evA0: A0 =:= Double): RichFunction1AsDoubleFunction[R]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoublePredicate[A0](sf: A0 => Boolean)(implicit evA0: A0 =:= Double): RichFunction1AsDoublePredicate

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoubleToIntFunction[A0](sf: A0 => Int)(implicit evA0: A0 =:= Double): RichFunction1AsDoubleToIntFunction

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoubleToLongFunction[A0](sf: A0 => Long)(implicit evA0: A0 =:= Double): RichFunction1AsDoubleToLongFunction

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaDoubleUnaryOperator[A0](sf: A0 => Double)(implicit evA0: A0 =:= Double): RichFunction1AsDoubleUnaryOperator

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaFunction[T, R](sf: T => R): RichFunction1AsFunction[T, R]

Attributes

Inherited from:
Priority2FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntBinaryOperator[A0, A1](sf: (A0, A1) => Int)(implicit evA0: A0 =:= Int, evA1: A1 =:= Int): RichFunction2AsIntBinaryOperator

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntConsumer[A0](sf: A0 => Unit)(implicit evA0: A0 =:= Int): RichFunction1AsIntConsumer

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntFunction[A0, R](sf: A0 => R)(implicit evA0: A0 =:= Int): RichFunction1AsIntFunction[R]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntPredicate[A0](sf: A0 => Boolean)(implicit evA0: A0 =:= Int): RichFunction1AsIntPredicate

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntToDoubleFunction[A0](sf: A0 => Double)(implicit evA0: A0 =:= Int): RichFunction1AsIntToDoubleFunction

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntToLongFunction[A0](sf: A0 => Long)(implicit evA0: A0 =:= Int): RichFunction1AsIntToLongFunction

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaIntUnaryOperator[A0](sf: A0 => Int)(implicit evA0: A0 =:= Int): RichFunction1AsIntUnaryOperator

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongBinaryOperator[A0, A1](sf: (A0, A1) => Long)(implicit evA0: A0 =:= Long, evA1: A1 =:= Long): RichFunction2AsLongBinaryOperator

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongConsumer[A0](sf: A0 => Unit)(implicit evA0: A0 =:= Long): RichFunction1AsLongConsumer

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongFunction[A0, R](sf: A0 => R)(implicit evA0: A0 =:= Long): RichFunction1AsLongFunction[R]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongPredicate[A0](sf: A0 => Boolean)(implicit evA0: A0 =:= Long): RichFunction1AsLongPredicate

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongToDoubleFunction[A0](sf: A0 => Double)(implicit evA0: A0 =:= Long): RichFunction1AsLongToDoubleFunction

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongToIntFunction[A0](sf: A0 => Int)(implicit evA0: A0 =:= Long): RichFunction1AsLongToIntFunction

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaLongUnaryOperator[A0](sf: A0 => Long)(implicit evA0: A0 =:= Long): RichFunction1AsLongUnaryOperator

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaObjDoubleConsumer[T, A1](sf: (T, A1) => Unit)(implicit evA1: A1 =:= Double): RichFunction2AsObjDoubleConsumer[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaObjIntConsumer[T, A1](sf: (T, A1) => Unit)(implicit evA1: A1 =:= Int): RichFunction2AsObjIntConsumer[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaObjLongConsumer[T, A1](sf: (T, A1) => Unit)(implicit evA1: A1 =:= Long): RichFunction2AsObjLongConsumer[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaSupplier[T](sf: () => T): RichFunction0AsSupplier[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala

Attributes

Inherited from:
Priority2FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaToIntBiFunction[T, U](sf: (T, U) => Int): RichFunction2AsToIntBiFunction[T, U]

Attributes

Inherited from:
Priority2FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaToLongBiFunction[T, U](sf: (T, U) => Long): RichFunction2AsToLongBiFunction[T, U]

Attributes

Inherited from:
Priority2FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsJavaUnaryOperator[T, A1](sf: T => A1)(implicit evA1: A1 =:= T): RichFunction1AsUnaryOperator[T]

Attributes

Inherited from:
Priority1FunctionExtensions
Source
FunctionExtensions.scala

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsScalaFromBiFunction[T, U, R](jf: BiFunction[T, U, R]): RichBiFunctionAsFunction2[T, U, R]

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala
implicit def enrichAsScalaFromFunction[T, R](jf: Function[T, R]): RichFunctionAsFunction1[T, R]

Attributes

Inherited from:
Priority0FunctionExtensions
Source
FunctionExtensions.scala