Packages

  • package root

    This is the documentation for the Scala standard library.

    This is the documentation for the Scala standard library.

    Package structure

    The scala package contains core types like Int, Float, Array or Option which are accessible in all Scala compilation units without explicit qualification or imports.

    Notable packages include:

    Other packages exist. See the complete list on the right.

    Additional parts of the standard library are shipped as separate libraries. These include:

    Automatic imports

    Identifiers in the scala package and the scala.Predef object are always in scope by default.

    Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example, List is an alias for scala.collection.immutable.List.

    Other aliases refer to classes provided by the underlying platform. For example, on the JVM, String is an alias for java.lang.String.

    Definition Classes
    root
  • package scala

    Core Scala types.

    Core Scala types. They are always available without an explicit import.

    Definition Classes
    root
  • package jdk
    Definition Classes
    scala
  • object OptionConverters

    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.

    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
    Definition Classes
    jdk
  • RichOption
  • RichOptional
  • RichOptionalDouble
  • RichOptionalInt
  • RichOptionalLong

implicit final class RichOption[A] extends AnyVal

Provides conversions from Scala Option to Java Optional types

Source
OptionConverters.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RichOption
  2. AnyVal
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new RichOption(o: Option[A])

Value Members

  1. def getClass(): Class[_ <: AnyVal]

    Returns the runtime class representation of the object.

    Returns the runtime class representation of the object.

    returns

    a class object corresponding to the runtime type of the receiver.

    Definition Classes
    AnyValAny
  2. def toJava: Optional[A]

    Convert a Scala Option to a generic Java Optional

  3. def toJavaPrimitive[O](implicit shape: OptionShape[A, O]): O

    Convert a Scala Option to a specialized Java Optional

Deprecated Value Members

  1. def asJava: Optional[A]

    Convert a Scala Option to a generic Java Optional

    Convert a Scala Option to a generic Java Optional

    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use toJava instead