package compat
- Alphabetic
- Public
- All
Type Members
- trait Priority1FunctionConverters extends Priority2FunctionConverters
- trait Priority2FunctionConverters extends Priority3FunctionConverters
- trait Priority3FunctionConverters extends AnyRef
Value Members
-
object
OptionConverters
This class enables bidirectional conversion between
scala.Option
and the set ofjava.util.Optional
classes.This class enables bidirectional conversion between
scala.Option
and the set ofjava.util.Optional
classes.The Scala
Option
is generic; its generic counterpart in Java isjava.util.Optional
.Option
is enriched with anasJava
method, whileOptional
is enriched withasScala
to perform conversions.In addition, both
Option
andOptional
are enriched withasPrimitive
methods that will convert generically contained primitives to the manually specialized Java versions for primitives,OptionalDouble
,OptionalInt
, andOptionalLong
. The primitive versions can be converted to the Scala genericOption
withasScala
and to the Java genericOptional
withasGeneric
.When calling from Java, methods are more convenient than extension methods, so
toJava
andtoScala
methods are provided that convert to and from Scala'sOption
. Note thattoJava(toScala(x))
will result in a genericOptional
even ifx
was one of the primitive versons.Example usage:
import scala.compat.java8.OptionConverters._ val a = Option("example").asJava // Creates java.util.Optional[String] containing "example" val b = (None: Option[String]).asJava // Creates an empty java.util.Optional[String] val c = a.asScala // Back to Option("example") val d = b.asScala // Back to None typed as Option[String] val e = Option(2.7).asJava // java.util.Optional[Double] containing boxed 2.7 val f = Option(2.7).asPrimitive // java.util.OptionalDouble containing 2.7 (not boxed) val g = f.asScala // Back to Option(2.7) val h = f.asGeneric // Same as e val i = e.asPrimitive // Same as f val j = toJava(Option("example")) // Same as a val k = toScala(a) // Same as c