scala.jdk.javaapi

Type members

Classlikes

This object contains methods that convert between Scala and Java collections.

This object contains methods that convert between Scala and Java collections.

The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.CollectionConverters.

Note: to create Java Streams that operate on Scala collections (sequentially or in parallel), use StreamConverters.

// Java Code
import scala.jdk.javaapi.CollectionConverters;
public class A {
  public void t(scala.collection.immutable.List<String> l) {
    java.util.List<String> jl = CollectionConverters.asJava(l);
  }
}

The conversions return adapters for the corresponding API, i.e., the collections are wrapped, not converted. Changes to the original collection are reflected in the view, and vice versa.

The following conversions are supported via asScala and asJava:

scala.collection.Iterable       <=> java.lang.Iterable
scala.collection.Iterator       <=> java.util.Iterator
scala.collection.mutable.Buffer <=> java.util.List
scala.collection.mutable.Set    <=> java.util.Set
scala.collection.mutable.Map    <=> java.util.Map
scala.collection.concurrent.Map <=> java.util.concurrent.ConcurrentMap

The following conversions are supported via asScala and through specially-named methods to convert to Java collections, as shown:

scala.collection.Iterable    <=> java.util.Collection   (via asJavaCollection)
scala.collection.Iterator    <=> java.util.Enumeration  (via asJavaEnumeration)
scala.collection.mutable.Map <=> java.util.Dictionary   (via asJavaDictionary)

In addition, the following one-way conversions are provided via asJava:

scala.collection.Seq         => java.util.List
scala.collection.mutable.Seq => java.util.List
scala.collection.Set         => java.util.Set
scala.collection.Map         => java.util.Map

The following one way conversion is provided via asScala:

java.util.Properties => scala.collection.mutable.Map

In all cases, converting from a source type to a target type and back again will return the original source object.

Source
CollectionConverters.scala

This object contains methods that convert between Scala and Java duration types.

This object contains methods that convert between Scala and Java duration types.

The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.DurationConverters.

Source
DurationConverters.scala

This object contains methods that convert between Scala and Java function types.

This object contains methods that convert between Scala and Java function types.

The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.FunctionConverters.

For details how the function converters work, see scala.jdk.FunctionConverters.

Source
FunctionConverters.scala

This object contains methods that convert between Scala scala.concurrent.Future and Java java.util.concurrent.CompletionStage.

This object contains methods that convert between Scala scala.concurrent.Future and Java java.util.concurrent.CompletionStage.

The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.FutureConverters.

Note that the bridge is implemented at the read-only side of asynchronous handles, namely scala.concurrent.Future (instead of scala.concurrent.Promise) and java.util.concurrent.CompletionStage (instead of java.util.concurrent.CompletableFuture). This is intentional, as the semantics of bridging the write-handles would be prone to race conditions; if both ends (CompletableFuture and Promise) are completed independently at the same time, they may contain different values afterwards. For this reason, toCompletableFuture is not supported on the created CompletionStages.

Source
FutureConverters.scala

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

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

The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.OptionConverters.

Source
OptionConverters.scala

This object contains methods to create Java Streams that operate on Scala collections (sequentially or in parallel).

This object contains methods to create Java Streams that operate on Scala collections (sequentially or in parallel). For more information on Java streams, consult the documentation (https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html).

The explicit conversion methods defined here are intended to be used in Java code. For Scala code, it is recommended to use the extension methods defined in scala.jdk.StreamConverters.

Note: to convert between Scala collections and classic Java collections, use CollectionConverters.

For details how the stream converters work, see scala.jdk.StreamConverters.

Source
StreamConverters.scala