OptionConverters

scala.jdk.OptionConverters

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

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

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

Attributes

Source
OptionConverters.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

final implicit class RichOption[A](o: Option[A]) extends AnyVal

Provides conversions from Scala Option to Java Optional types

Provides conversions from Scala Option to Java Optional types

Attributes

Source
OptionConverters.scala
Supertypes
class AnyVal
trait Matchable
class Any
final implicit class RichOptional[A](o: Optional[A]) extends AnyVal

Provides conversions from Java Optional to Scala Option and specialized Optional types

Provides conversions from Java Optional to Scala Option and specialized Optional types

Attributes

Source
OptionConverters.scala
Supertypes
class AnyVal
trait Matchable
class Any
final implicit class RichOptionalDouble(o: OptionalDouble) extends AnyVal

Provides conversions from OptionalDouble to Scala Option and the generic Optional

Provides conversions from OptionalDouble to Scala Option and the generic Optional

Attributes

Source
OptionConverters.scala
Supertypes
class AnyVal
trait Matchable
class Any
final implicit class RichOptionalInt(o: OptionalInt) extends AnyVal

Provides conversions from OptionalInt to Scala Option and the generic Optional

Provides conversions from OptionalInt to Scala Option and the generic Optional

Attributes

Source
OptionConverters.scala
Supertypes
class AnyVal
trait Matchable
class Any
final implicit class RichOptionalLong(o: OptionalLong) extends AnyVal

Provides conversions from OptionalLong to Scala Option and the generic Optional

Provides conversions from OptionalLong to Scala Option and the generic Optional

Attributes

Source
OptionConverters.scala
Supertypes
class AnyVal
trait Matchable
class Any

Implicits

Implicits

implicit def RichOption[A](o: Option[A]): RichOption[A]

Provides conversions from Scala Option to Java Optional types

Provides conversions from Scala Option to Java Optional types

Attributes

Source
OptionConverters.scala
implicit def RichOptional[A](o: Optional[A]): RichOptional[A]

Provides conversions from Java Optional to Scala Option and specialized Optional types

Provides conversions from Java Optional to Scala Option and specialized Optional types

Attributes

Source
OptionConverters.scala

Provides conversions from OptionalDouble to Scala Option and the generic Optional

Provides conversions from OptionalDouble to Scala Option and the generic Optional

Attributes

Source
OptionConverters.scala

Provides conversions from OptionalInt to Scala Option and the generic Optional

Provides conversions from OptionalInt to Scala Option and the generic Optional

Attributes

Source
OptionConverters.scala

Provides conversions from OptionalLong to Scala Option and the generic Optional

Provides conversions from OptionalLong to Scala Option and the generic Optional

Attributes

Source
OptionConverters.scala