object JavaConverters extends DecorateAsJava with DecorateAsScala
A collection of decorators that allow converting between
Scala and Java collections using asScala
and asJava
methods.
The following conversions are supported via asJava
, asScala
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.mutable.concurrent.Map <=> java.util.concurrent.ConcurrentMap
In all cases, converting from a source type to a target type and back again will return the original source object, e.g.
import scala.collection.JavaConverters._ val sl = new scala.collection.mutable.ListBuffer[Int] val jl : java.util.List[Int] = sl.asJava val sl2 : scala.collection.mutable.Buffer[Int] = jl.asScala assert(sl eq sl2)
The following conversions are also supported, but the
direction from Scala to Java is done by the more specifically named methods:
asJavaCollection
, asJavaEnumeration
, asJavaDictionary
.
scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=> java.util.Enumeration scala.collection.mutable.Map <=> java.util.Dictionary
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
- Source
- JavaConverters.scala
- Since
2.8.1
- Alphabetic
- By Inheritance
- JavaConverters
- DecorateAsScala
- DecorateAsJava
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
implicit
def
asJavaCollectionConverter[A](i: Iterable[A]): convert.Decorators.AsJavaCollection[A]
Adds an
asJavaCollection
method that implicitly converts a ScalaIterable
to an immutable JavaCollection
.Adds an
asJavaCollection
method that implicitly converts a ScalaIterable
to an immutable JavaCollection
.If the Scala
Iterable
was previously obtained from an implicit or explicit call ofasSizedIterable(java.util.Collection)
then the original JavaCollection
will be returned.- i
The
SizedIterable
to be converted.- returns
An object with an
asJava
method that returns a JavaCollection
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
asJavaDictionaryConverter[A, B](m: mutable.Map[A, B]): convert.Decorators.AsJavaDictionary[A, B]
Adds an
asJavaDictionary
method that implicitly converts a Scala mutableMap
to a JavaDictionary
.Adds an
asJavaDictionary
method that implicitly converts a Scala mutableMap
to a JavaDictionary
.The returned Java
Dictionary
is backed by the provided ScalaDictionary
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Dictionary
was previously obtained from an implicit or explicit call ofasMap(java.util.Dictionary)
then the original JavaDictionary
will be returned.- m
The
Map
to be converted.- returns
An object with an
asJavaDictionary
method that returns a JavaDictionary
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
asJavaEnumerationConverter[A](i: Iterator[A]): convert.Decorators.AsJavaEnumeration[A]
Adds an
asJavaEnumeration
method that implicitly converts a ScalaIterator
to a JavaEnumeration
.Adds an
asJavaEnumeration
method that implicitly converts a ScalaIterator
to a JavaEnumeration
. The returned JavaEnumeration
is backed by the provided ScalaIterator
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Iterator
was previously obtained from an implicit or explicit call ofasIterator(java.util.Enumeration)
then the original JavaEnumeration
will be returned.- i
The
Iterator
to be converted.- returns
An object with an
asJavaEnumeration
method that returns a JavaEnumeration
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
asJavaIterableConverter[A](i: Iterable[A]): convert.Decorators.AsJava[java.lang.Iterable[A]]
Adds an
asJava
method that implicitly converts a ScalaIterable
to a JavaIterable
.Adds an
asJava
method that implicitly converts a ScalaIterable
to a JavaIterable
.The returned Java
Iterable
is backed by the provided ScalaIterable
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Iterable
was previously obtained from an implicit or explicit call ofasIterable(java.lang.Iterable)
then the original JavaIterable
will be returned.- i
The
Iterable
to be converted.- returns
An object with an
asJavaCollection
method that returns a JavaIterable
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
asJavaIteratorConverter[A](i: Iterator[A]): convert.Decorators.AsJava[java.util.Iterator[A]]
Adds an
asJava
method that implicitly converts a ScalaIterator
to a JavaIterator
.Adds an
asJava
method that implicitly converts a ScalaIterator
to a JavaIterator
. The returned JavaIterator
is backed by the provided ScalaIterator
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Iterator
was previously obtained from an implicit or explicit call ofasIterator(java.util.Iterator)
then the original JavaIterator
will be returned by theasJava
method.- i
The
Iterator
to be converted.- returns
An object with an
asJava
method that returns a JavaIterator
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
asScalaBufferConverter[A](l: java.util.List[A]): convert.Decorators.AsScala[Buffer[A]]
Adds an
asScala
method that implicitly converts a JavaList
to a Scala mutableBuffer
.Adds an
asScala
method that implicitly converts a JavaList
to a Scala mutableBuffer
.The returned Scala
Buffer
is backed by the provided JavaList
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
List
was previously obtained from an implicit or explicit call ofasList(scala.collection.mutable.Buffer)
then the original ScalaBuffer
will be returned.- l
The
List
to be converted.- returns
An object with an
asScala
method that returns a Scala mutableBuffer
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
asScalaIteratorConverter[A](i: java.util.Iterator[A]): convert.Decorators.AsScala[Iterator[A]]
Adds an
asScala
method that implicitly converts a JavaIterator
to a ScalaIterator
.Adds an
asScala
method that implicitly converts a JavaIterator
to a ScalaIterator
.The returned Scala
Iterator
is backed by the provided JavaIterator
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
Iterator
was previously obtained from an implicit or explicit call ofasIterator(scala.collection.Iterator)
then the original ScalaIterator
will be returned.- i
The
Iterator
to be converted.- returns
An object with an
asScala
method that returns a ScalaIterator
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
asScalaSetConverter[A](s: java.util.Set[A]): convert.Decorators.AsScala[mutable.Set[A]]
Adds an
asScala
method that implicitly converts a JavaSet
to a Scala mutableSet
.Adds an
asScala
method that implicitly converts a JavaSet
to a Scala mutableSet
.The returned Scala
Set
is backed by the provided JavaSet
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
Set
was previously obtained from an implicit or explicit call ofasSet(scala.collection.mutable.Set)
then the original ScalaSet
will be returned.- s
The
Set
to be converted.- returns
An object with an
asScala
method that returns a Scala mutableSet
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
bufferAsJavaListConverter[A](b: Buffer[A]): convert.Decorators.AsJava[java.util.List[A]]
Adds an
asJava
method that implicitly converts a Scala mutableBuffer
to a JavaList
.Adds an
asJava
method that implicitly converts a Scala mutableBuffer
to a JavaList
.The returned Java
List
is backed by the provided ScalaBuffer
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Buffer
was previously obtained from an implicit or explicit call ofasBuffer(java.util.List)
then the original JavaList
will be returned.- b
The
Buffer
to be converted.- returns
An object with an
asJava
method that returns a JavaList
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
collectionAsScalaIterableConverter[A](i: Collection[A]): convert.Decorators.AsScala[Iterable[A]]
Adds an
asScala
method that implicitly converts a JavaCollection
to an ScalaIterable
.Adds an
asScala
method that implicitly converts a JavaCollection
to an ScalaIterable
.If the Java
Collection
was previously obtained from an implicit or explicit call ofasCollection(scala.collection.SizedIterable)
then the original ScalaSizedIterable
will be returned.- i
The
Collection
to be converted.- returns
An object with an
asScala
method that returns a ScalaSizedIterable
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
dictionaryAsScalaMapConverter[A, B](p: Dictionary[A, B]): convert.Decorators.AsScala[mutable.Map[A, B]]
Adds an
asScala
method that implicitly converts a JavaDictionary
to a Scala mutableMap[String, String]
.Adds an
asScala
method that implicitly converts a JavaDictionary
to a Scala mutableMap[String, String]
. The returned ScalaMap[String, String]
is backed by the provided JavaDictionary
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.- p
The
Dictionary
to be converted.- returns
An object with an
asScala
method that returns a Scala mutableMap[String, String]
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
enumerationAsScalaIteratorConverter[A](i: java.util.Enumeration[A]): convert.Decorators.AsScala[Iterator[A]]
Adds an
asScala
method that implicitly converts a JavaEnumeration
to a ScalaIterator
.Adds an
asScala
method that implicitly converts a JavaEnumeration
to a ScalaIterator
.The returned Scala
Iterator
is backed by the provided JavaEnumeration
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
Enumeration
was previously obtained from an implicit or explicit call ofasEnumeration(scala.collection.Iterator)
then the original ScalaIterator
will be returned.- i
The
Enumeration
to be converted.- returns
An object with an
asScala
method that returns a ScalaIterator
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
iterableAsScalaIterableConverter[A](i: java.lang.Iterable[A]): convert.Decorators.AsScala[Iterable[A]]
Adds an
asScala
method that implicitly converts a JavaIterable
to a ScalaIterable
.Adds an
asScala
method that implicitly converts a JavaIterable
to a ScalaIterable
.The returned Scala
Iterable
is backed by the provided JavaIterable
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
Iterable
was previously obtained from an implicit or explicit call ofasIterable(scala.collection.Iterable)
then the original ScalaIterable
will be returned.- i
The
Iterable
to be converted.- returns
An object with an
asScala
method that returns a ScalaIterable
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
mapAsJavaConcurrentMapConverter[A, B](m: concurrent.Map[A, B]): convert.Decorators.AsJava[ConcurrentMap[A, B]]
Adds an
asJava
method that implicitly converts a Scala mutableconcurrent.Map
to a JavaConcurrentMap
.Adds an
asJava
method that implicitly converts a Scala mutableconcurrent.Map
to a JavaConcurrentMap
.The returned Java
ConcurrentMap
is backed by the provided Scalaconcurrent.Map
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
concurrent.Map
was previously obtained from an implicit or explicit call ofasConcurrentMap(java.util.concurrent.ConcurrentMap)
then the original JavaConcurrentMap
will be returned.- m
The Scala
concurrent.Map
to be converted.- returns
An object with an
asJava
method that returns a JavaConcurrentMap
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
mapAsJavaMapConverter[A, B](m: Map[A, B]): convert.Decorators.AsJava[java.util.Map[A, B]]
Adds an
asJava
method that implicitly converts a ScalaMap
to a JavaMap
.Adds an
asJava
method that implicitly converts a ScalaMap
to a JavaMap
.The returned Java
Map
is backed by the provided ScalaMap
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Map
was previously obtained from an implicit or explicit call ofasMap(java.util.Map)
then the original JavaMap
will be returned.- m
The
Map
to be converted.- returns
An object with an
asJava
method that returns a JavaMap
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
mapAsScalaConcurrentMapConverter[A, B](m: ConcurrentMap[A, B]): convert.Decorators.AsScala[concurrent.Map[A, B]]
Adds an
asScala
method that implicitly converts a JavaConcurrentMap
to a Scala mutableconcurrent.Map
.Adds an
asScala
method that implicitly converts a JavaConcurrentMap
to a Scala mutableconcurrent.Map
. The returned Scalaconcurrent.Map
is backed by the provided JavaConcurrentMap
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
ConcurrentMap
was previously obtained from an implicit or explicit call ofmapAsScalaConcurrentMap(scala.collection.mutable.ConcurrentMap)
then the original Scalaconcurrent.Map
will be returned.- m
The
ConcurrentMap
to be converted.- returns
An object with an
asScala
method that returns a Scala mutableconcurrent.Map
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
mapAsScalaMapConverter[A, B](m: java.util.Map[A, B]): convert.Decorators.AsScala[mutable.Map[A, B]]
Adds an
asScala
method that implicitly converts a JavaMap
to a Scala mutableMap
.Adds an
asScala
method that implicitly converts a JavaMap
to a Scala mutableMap
. The returned ScalaMap
is backed by the provided JavaMap
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.If the Java
Map
was previously obtained from an implicit or explicit call ofasMap(scala.collection.mutable.Map)
then the original ScalaMap
will be returned.If the wrapped map is synchronized (e.g. from
java.util.Collections.synchronizedMap
), it is your responsibility to wrap all non-atomic operations withunderlying.synchronized
. This includesget
, asjava.util.Map
's API does not allow for an atomicget
whennull
values may be present.- m
The
Map
to be converted.- returns
An object with an
asScala
method that returns a Scala mutableMap
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
mutableMapAsJavaMapConverter[A, B](m: mutable.Map[A, B]): convert.Decorators.AsJava[java.util.Map[A, B]]
Adds an
asJava
method that implicitly converts a Scala mutableMap
to a JavaMap
.Adds an
asJava
method that implicitly converts a Scala mutableMap
to a JavaMap
.The returned Java
Map
is backed by the provided ScalaMap
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Map
was previously obtained from an implicit or explicit call ofasMap(java.util.Map)
then the original JavaMap
will be returned.- m
The
Map
to be converted.- returns
An object with an
asJava
method that returns a JavaMap
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
mutableSeqAsJavaListConverter[A](b: mutable.Seq[A]): convert.Decorators.AsJava[java.util.List[A]]
Adds an
asJava
method that implicitly converts a Scala mutableSeq
to a JavaList
.Adds an
asJava
method that implicitly converts a Scala mutableSeq
to a JavaList
.The returned Java
List
is backed by the provided ScalaSeq
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Seq
was previously obtained from an implicit or explicit call ofasSeq(java.util.List)
then the original JavaList
will be returned.- b
The
Seq
to be converted.- returns
An object with an
asJava
method that returns a JavaList
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
mutableSetAsJavaSetConverter[A](s: mutable.Set[A]): convert.Decorators.AsJava[java.util.Set[A]]
Adds an
asJava
method that implicitly converts a Scala mutableSet
> to a JavaSet
.Adds an
asJava
method that implicitly converts a Scala mutableSet
> to a JavaSet
.The returned Java
Set
is backed by the provided ScalaSet
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Set
was previously obtained from an implicit or explicit call ofasSet(java.util.Set)
then the original JavaSet
will be returned.- s
The
Set
to be converted.- returns
An object with an
asJava
method that returns a JavaSet
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
propertiesAsScalaMapConverter(p: Properties): convert.Decorators.AsScala[mutable.Map[String, String]]
Adds an
asScala
method that implicitly converts a JavaProperties
to a Scala mutableMap[String, String]
.Adds an
asScala
method that implicitly converts a JavaProperties
to a Scala mutableMap[String, String]
. The returned ScalaMap[String, String]
is backed by the provided JavaProperties
and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.- p
The
Properties
to be converted.- returns
An object with an
asScala
method that returns a Scala mutableMap[String, String]
view of the argument.
- Definition Classes
- DecorateAsScala
-
implicit
def
seqAsJavaListConverter[A](b: Seq[A]): convert.Decorators.AsJava[java.util.List[A]]
Adds an
asJava
method that implicitly converts a ScalaSeq
to a JavaList
.Adds an
asJava
method that implicitly converts a ScalaSeq
to a JavaList
.The returned Java
List
is backed by the provided ScalaSeq
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Seq
was previously obtained from an implicit or explicit call ofasSeq(java.util.List)
then the original JavaList
will be returned.- b
The
Seq
to be converted.- returns
An object with an
asJava
method that returns a JavaList
view of the argument.
- Definition Classes
- DecorateAsJava
-
implicit
def
setAsJavaSetConverter[A](s: Set[A]): convert.Decorators.AsJava[java.util.Set[A]]
Adds an
asJava
method that implicitly converts a ScalaSet
to a JavaSet
.Adds an
asJava
method that implicitly converts a ScalaSet
to a JavaSet
.The returned Java
Set
is backed by the provided ScalaSet
and any side-effects of using it via the Java interface will be visible via the Scala interface and vice versa.If the Scala
Set
was previously obtained from an implicit or explicit call ofasSet(java.util.Set)
then the original JavaSet
will be returned.- s
The
Set
to be converted.- returns
An object with an
asJava
method that returns a JavaSet
view of the argument.
- Definition Classes
- DecorateAsJava
This is the documentation for the Scala standard library.
Package structure
The scala package contains core types like
Int
,Float
,Array
orOption
which are accessible in all Scala compilation units without explicit qualification or imports.Notable packages include:
scala.collection
and its sub-packages contain Scala's collections frameworkscala.collection.immutable
- Immutable, sequential data-structures such asVector
,List
,Range
,HashMap
orHashSet
scala.collection.mutable
- Mutable, sequential data-structures such asArrayBuffer
,StringBuilder
,HashMap
orHashSet
scala.collection.concurrent
- Mutable, concurrent data-structures such asTrieMap
scala.collection.parallel.immutable
- Immutable, parallel data-structures such asParVector
,ParRange
,ParHashMap
orParHashSet
scala.collection.parallel.mutable
- Mutable, parallel data-structures such asParArray
,ParHashMap
,ParTrieMap
orParHashSet
scala.concurrent
- Primitives for concurrent programming such asFutures
andPromises
scala.io
- Input and output operationsscala.math
- Basic math functions and additional numeric types likeBigInt
andBigDecimal
scala.sys
- Interaction with other processes and the operating systemscala.util.matching
- Regular expressionsOther packages exist. See the complete list on the left.
Additional parts of the standard library are shipped as separate libraries. These include:
scala.reflect
- Scala's reflection API (scala-reflect.jar)scala.xml
- XML parsing, manipulation, and serialization (scala-xml.jar)scala.swing
- A convenient wrapper around Java's GUI framework called Swing (scala-swing.jar)scala.util.parsing
- Parser combinators, including an example implementation of a JSON parser (scala-parser-combinators.jar)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 forscala.collection.immutable.List
.Other aliases refer to classes provided by the underlying platform. For example, on the JVM,
String
is an alias forjava.lang.String
.