A type class implementing conversions from a generic Scala Option
or Java Optional
to
a specialized Java variant (for Double
, Int
and Long
).
This object provides extension methods that convert between Scala Option
and Java Optional
types.
This object provides extension methods that convert between Scala Option
and Java Optional
types.
Scala Option
is extended with a toJava
method that creates a corresponding Optional
, and
a toJavaPrimitive
method that creates a specialized variant (e.g., OptionalInt
) if
applicable.
Java Optional
is extended with a toScala
method and a toJavaPrimitive
method.
Finally, specialized Optional
types are extended with toScala
and toJavaGeneric
methods.
Example usage:
import scala.jdk.OptionConverters._ val a = Option("example").toJava // Creates java.util.Optional[String] containing "example" val b = (None: Option[String]).toJava // Creates an empty java.util.Optional[String] val c = a.toScala // Back to Option("example") val d = b.toScala // Back to None typed as Option[String] val e = Option(2.7).toJava // java.util.Optional[Double] containing boxed 2.7 val f = Option(2.7).toJavaPrimitive // java.util.OptionalDouble containing 2.7 (not boxed) val g = f.toScala // Back to Option(2.7) val h = f.toJavaGeneric // Same as e val i = e.toJavaPrimitive // Same as f
A type class implementing conversions from a generic Scala
Option
or JavaOptional
to a specialized Java variant (forDouble
,Int
andLong
).the primitive type wrapped in an option
the specialized Java
Optional
wrapping an element of typeA