FunctionConverters
 scala.jdk.FunctionConverters
  object FunctionConverters extends Priority0FunctionExtensions
 
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
 - 
    FunctionConverters.type
 
Members list
          Keywords
           
          
        
        - no keywords
 - implicit
 
          Inherited
           
          
        
        - Not inherited
 - Priority0FunctionExtensions
 - Priority1FunctionExtensions
 - Priority2FunctionExtensions
 - Priority3FunctionExtensions
 
Implicits
Inherited implicits
Attributes
- Inherited from:
 - Priority2FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority3FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
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
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
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
 
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
 
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
 
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
 
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
 
Attributes
- Inherited from:
 - Priority1FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsJavaToDoubleBiFunction[T, U](sf: (T, U) => Double): RichFunction2AsToDoubleBiFunction[T, U]
           
          Attributes
- Inherited from:
 - Priority2FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority1FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsJavaToIntBiFunction[T, U](sf: (T, U) => Int): RichFunction2AsToIntBiFunction[T, U]
           
          Attributes
- Inherited from:
 - Priority2FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority1FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsJavaToLongBiFunction[T, U](sf: (T, U) => Long): RichFunction2AsToLongBiFunction[T, U]
           
          Attributes
- Inherited from:
 - Priority2FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority1FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsJavaUnaryOperator[T, A1](sf: T => A1)(implicit evA1: A1 =:= T): RichFunction1AsUnaryOperator[T]
           
          Attributes
- Inherited from:
 - Priority1FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromBiConsumer[T, U](jf: BiConsumer[T, U]): RichBiConsumerAsFunction2[T, U]
           
          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 enrichAsScalaFromBiPredicate[T, U](jf: BiPredicate[T, U]): RichBiPredicateAsFunction2[T, U]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromBinaryOperator[T](jf: BinaryOperator[T]): RichBinaryOperatorAsFunction2[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromDoubleFunction[R](jf: DoubleFunction[R]): RichDoubleFunctionAsFunction1[R]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromIntBinaryOperator(jf: IntBinaryOperator): RichIntBinaryOperatorAsFunction2
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromIntToLongFunction(jf: IntToLongFunction): RichIntToLongFunctionAsFunction1
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromIntUnaryOperator(jf: IntUnaryOperator): RichIntUnaryOperatorAsFunction1
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromLongToIntFunction(jf: LongToIntFunction): RichLongToIntFunctionAsFunction1
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromLongUnaryOperator(jf: LongUnaryOperator): RichLongUnaryOperatorAsFunction1
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromObjDoubleConsumer[T](jf: ObjDoubleConsumer[T]): RichObjDoubleConsumerAsFunction2[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromObjIntConsumer[T](jf: ObjIntConsumer[T]): RichObjIntConsumerAsFunction2[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromObjLongConsumer[T](jf: ObjLongConsumer[T]): RichObjLongConsumerAsFunction2[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromToDoubleBiFunction[T, U](jf: ToDoubleBiFunction[T, U]): RichToDoubleBiFunctionAsFunction2[T, U]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromToDoubleFunction[T](jf: ToDoubleFunction[T]): RichToDoubleFunctionAsFunction1[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromToIntBiFunction[T, U](jf: ToIntBiFunction[T, U]): RichToIntBiFunctionAsFunction2[T, U]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromToIntFunction[T](jf: ToIntFunction[T]): RichToIntFunctionAsFunction1[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromToLongBiFunction[T, U](jf: ToLongBiFunction[T, U]): RichToLongBiFunctionAsFunction2[T, U]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromToLongFunction[T](jf: ToLongFunction[T]): RichToLongFunctionAsFunction1[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
            implicit def enrichAsScalaFromUnaryOperator[T](jf: UnaryOperator[T]): RichUnaryOperatorAsFunction1[T]
           
          Attributes
- Inherited from:
 - Priority0FunctionExtensions
 - Source
 - FunctionExtensions.scala
 
In this article