package compat
- Alphabetic
- Public
- Protected
Package Members
- package functionConverterImpls
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.Optionand the set ofjava.util.Optionalclasses.This class enables bidirectional conversion between
scala.Optionand the set ofjava.util.Optionalclasses.The Scala
Optionis generic; its generic counterpart in Java isjava.util.Optional.Optionis enriched with anasJavamethod, whileOptionalis enriched withasScalato perform conversions.In addition, both
OptionandOptionalare enriched withasPrimitivemethods 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 genericOptionwithasScalaand to the Java genericOptionalwithasGeneric.When calling from Java, methods are more convenient than extension methods, so
toJavaandtoScalamethods are provided that convert to and from Scala'sOption. Note thattoJava(toScala(x))will result in a genericOptionaleven ifxwas 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