object JavaConversions extends WrapAsScala with WrapAsJava
A variety of implicit conversions supporting interoperability between Scala and Java collections.
The following conversions are supported:
scala.collection.Iterable <=> java.lang.Iterable scala.collection.Iterable <=> java.util.Collection scala.collection.Iterator <=> java.util.{ Iterator, Enumeration } scala.collection.mutable.Buffer <=> java.util.List scala.collection.mutable.Set <=> java.util.Set scala.collection.mutable.Map <=> java.util.{ Map, Dictionary } scala.collection.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:
import scala.collection.JavaConversions._ val sl = new scala.collection.mutable.ListBuffer[Int] val jl : java.util.List[Int] = sl val sl2 : scala.collection.mutable.Buffer[Int] = jl assert(sl eq sl2)
In addition, the following one way conversions are provided:
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 java.util.Properties => scala.collection.mutable.Map[String, String]
The transparent conversions provided here are considered fragile because they can result in unexpected behavior and performance.
Therefore, this API has been deprecated and JavaConverters
should be
used instead. JavaConverters
provides the same conversions, but through
extension methods.
- Annotations
- @deprecated
- Deprecated
(Since version 2.12.0) use JavaConverters
- Source
- JavaConversions.scala
- Since
2.8
- Alphabetic
- By Inheritance
- JavaConversions
- WrapAsJava
- LowPriorityWrapAsJava
- WrapAsScala
- LowPriorityWrapAsScala
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
implicit
def
asJavaCollection[A](it: Iterable[A]): Collection[A]
Implicitly converts a Scala Iterable to an immutable Java Collection.
Implicitly converts a Scala Iterable to an immutable Java Collection.
If the Scala Iterable was previously obtained from an implicit or explicit call of
asSizedIterable(java.util.Collection)
then the original Java Collection will be returned.- it
The SizedIterable to be converted.
- returns
A Java Collection view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
asJavaDictionary[A, B](m: mutable.Map[A, B]): Dictionary[A, B]
Implicitly converts a Scala mutable
Map
to a JavaDictionary
.Implicitly converts a Scala mutable
Map
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 Java Dictionary will be returned.- m
The
Map
to be converted.- returns
A Java
Dictionary
view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
asJavaEnumeration[A](it: Iterator[A]): java.util.Enumeration[A]
Implicitly converts a Scala Iterator to a Java Enumeration.
Implicitly converts a Scala Iterator to a Java Enumeration. The returned Java Enumeration is backed by the provided Scala Iterator 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 of
asIterator(java.util.Enumeration)
then the original Java Enumeration will be returned.- it
The Iterator to be converted.
- returns
A Java Enumeration view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
asJavaIterable[A](i: Iterable[A]): java.lang.Iterable[A]
Implicitly converts a Scala Iterable to a Java Iterable.
Implicitly converts a Scala Iterable to a Java Iterable. The returned Java Iterable is backed by the provided Scala Iterable 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 of
asIterable(java.lang.Iterable)
then the original Java Iterable will be returned.- i
The Iterable to be converted.
- returns
A Java Iterable view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
asJavaIterator[A](it: Iterator[A]): java.util.Iterator[A]
Implicitly converts a Scala Iterator to a Java Iterator.
Implicitly converts a Scala Iterator to a Java Iterator. The returned Java Iterator is backed by the provided Scala Iterator 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 of
asIterator(java.util.Iterator)
then the original Java Iterator will be returned.- it
The Iterator to be converted.
- returns
A Java Iterator view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
asScalaBuffer[A](l: java.util.List[A]): Buffer[A]
Implicitly converts a Java
List
to a Scala mutableBuffer
.Implicitly converts a Java
List
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 ofasScalaBuffer(scala.collection.mutable.Buffer)
then the original ScalaBuffer
will be returned.- l
The
List
to be converted.- returns
A Scala mutable
Buffer
view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
asScalaIterator[A](it: java.util.Iterator[A]): Iterator[A]
Implicitly converts a Java
Iterator
to a ScalaIterator
.Implicitly converts a Java
Iterator
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.- it
The
Iterator
to be converted.- returns
A Scala
Iterator
view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
asScalaSet[A](s: java.util.Set[A]): mutable.Set[A]
Implicitly converts a Java Set to a Scala mutable Set.
Implicitly converts a Java Set to a Scala mutable Set. The returned Scala Set is backed by the provided Java Set 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 of
asScalaSet(scala.collection.mutable.Set)
then the original Scala Set will be returned.- s
The Set to be converted.
- returns
A Scala mutable Set view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
bufferAsJavaList[A](b: Buffer[A]): java.util.List[A]
Implicitly converts a Scala mutable Buffer to a Java List.
Implicitly converts a Scala mutable Buffer to a Java List. The returned Java List is backed by the provided Scala Buffer 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 of
asBuffer(java.util.List)
then the original Java List will be returned.- b
The Buffer to be converted.
- returns
A Java List view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
collectionAsScalaIterable[A](i: Collection[A]): Iterable[A]
Implicitly converts a Java
Collection
to an ScalaIterable
.Implicitly converts a Java
Collection
to an ScalaIterable
.If the Java
Collection
was previously obtained from an implicit or explicit call ofcollectionAsScalaIterable(scala.collection.SizedIterable)
then the original ScalaIterable
will be returned.- i
The Collection to be converted.
- returns
A Scala Iterable view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
deprecated asJavaCollection[A](it: Iterable[A]): Collection[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated asJavaDictionary[A, B](m: mutable.Map[A, B]): Dictionary[A, B]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated asJavaEnumeration[A](it: Iterator[A]): java.util.Enumeration[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated asJavaIterable[A](i: Iterable[A]): java.lang.Iterable[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated asJavaIterator[A](it: Iterator[A]): java.util.Iterator[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated asScalaBuffer[A](l: java.util.List[A]): Buffer[A]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated asScalaIterator[A](it: java.util.Iterator[A]): Iterator[A]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated asScalaSet[A](s: java.util.Set[A]): mutable.Set[A]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated bufferAsJavaList[A](b: Buffer[A]): java.util.List[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated collectionAsScalaIterable[A](i: Collection[A]): Iterable[A]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated dictionaryAsScalaMap[A, B](p: Dictionary[A, B]): mutable.Map[A, B]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated enumerationAsScalaIterator[A](i: java.util.Enumeration[A]): Iterator[A]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated iterableAsScalaIterable[A](i: java.lang.Iterable[A]): Iterable[A]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated mapAsJavaConcurrentMap[A, B](m: concurrent.Map[A, B]): ConcurrentMap[A, B]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated mapAsJavaMap[A, B](m: Map[A, B]): java.util.Map[A, B]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated mapAsScalaConcurrentMap[A, B](m: ConcurrentMap[A, B]): concurrent.Map[A, B]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated mapAsScalaMap[A, B](m: java.util.Map[A, B]): mutable.Map[A, B]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated mutableMapAsJavaMap[A, B](m: mutable.Map[A, B]): java.util.Map[A, B]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated mutableSeqAsJavaList[A](seq: mutable.Seq[A]): java.util.List[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated mutableSetAsJavaSet[A](s: mutable.Set[A]): java.util.Set[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated propertiesAsScalaMap(p: Properties): mutable.Map[String, String]
- Definition Classes
- WrapAsScala
-
implicit
def
deprecated seqAsJavaList[A](seq: Seq[A]): java.util.List[A]
- Definition Classes
- WrapAsJava
-
implicit
def
deprecated setAsJavaSet[A](s: Set[A]): java.util.Set[A]
- Definition Classes
- WrapAsJava
-
implicit
def
dictionaryAsScalaMap[A, B](p: Dictionary[A, B]): mutable.Map[A, B]
Implicitly converts a Java
Dictionary
to a Scala mutableMap
.Implicitly converts a Java
Dictionary
to a Scala mutableMap
.The returned Scala
Map
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
A Scala mutable Map view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
enumerationAsScalaIterator[A](i: java.util.Enumeration[A]): Iterator[A]
Implicitly converts a Java Enumeration to a Scala Iterator.
Implicitly converts a Java Enumeration to a Scala Iterator. The returned Scala Iterator is backed by the provided Java Enumeration 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 of
enumerationAsScalaIterator(scala.collection.Iterator)
then the original Scala Iterator will be returned.- i
The Enumeration to be converted.
- returns
A Scala Iterator view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
iterableAsScalaIterable[A](i: java.lang.Iterable[A]): Iterable[A]
Implicitly converts a Java
Iterable
to a ScalaIterable
.Implicitly converts a Java
Iterable
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 ofiterableAsScalaIterable(scala.collection.Iterable)
then the original Scala Iterable will be returned.- i
The Iterable to be converted.
- returns
A Scala Iterable view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
mapAsJavaConcurrentMap[A, B](m: concurrent.Map[A, B]): ConcurrentMap[A, B]
Implicitly converts a Scala mutable
concurrent.Map
to a JavaConcurrentMap
.Implicitly converts a Scala mutable
concurrent.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 ofmapAsScalaConcurrentMap(java.util.concurrent.ConcurrentMap)
then the original Java ConcurrentMap will be returned.- m
The Scala
concurrent.Map
to be converted.- returns
A Java
ConcurrentMap
view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
mapAsJavaMap[A, B](m: Map[A, B]): java.util.Map[A, B]
Implicitly converts a Scala
Map
to a JavaMap
.Implicitly converts a Scala
Map
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
A Java
Map
view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
mapAsScalaConcurrentMap[A, B](m: ConcurrentMap[A, B]): concurrent.Map[A, B]
Implicitly converts a Java ConcurrentMap to a Scala mutable ConcurrentMap.
Implicitly converts a Java ConcurrentMap to a Scala mutable ConcurrentMap. The returned Scala ConcurrentMap is backed by the provided Java ConcurrentMap 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 of
asConcurrentMap(scala.collection.mutable.ConcurrentMap)
then the original Scala ConcurrentMap will be returned.- m
The ConcurrentMap to be converted.
- returns
A Scala mutable ConcurrentMap view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
mapAsScalaMap[A, B](m: java.util.Map[A, B]): mutable.Map[A, B]
Implicitly converts a Java
Map
to a Scala mutableMap
.Implicitly converts a Java
Map
to a Scala mutableMap
.The returned Scala
Map
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 ofmapAsScalaMap(scala.collection.mutable.Map)
then the original Scala Map 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
A Scala mutable Map view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
mutableMapAsJavaMap[A, B](m: mutable.Map[A, B]): java.util.Map[A, B]
Implicitly converts a Scala mutable Map to a Java Map.
Implicitly converts a Scala mutable Map to a Java Map. The returned Java Map is backed by the provided Scala 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 Map was previously obtained from an implicit or explicit call of
asMap(java.util.Map)
then the original Java Map will be returned.- m
The Map to be converted.
- returns
A Java Map view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
mutableSeqAsJavaList[A](seq: mutable.Seq[A]): java.util.List[A]
Implicitly converts a Scala mutable Seq to a Java List.
Implicitly converts a Scala mutable Seq to a Java List. The returned Java List is backed by the provided Scala Seq 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 of
asSeq(java.util.List)
then the original Java List will be returned.- seq
The Seq to be converted.
- returns
A Java List view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
mutableSetAsJavaSet[A](s: mutable.Set[A]): java.util.Set[A]
Implicitly converts a Scala mutable Set to a Java Set.
Implicitly converts a Scala mutable Set to a Java Set. The returned Java Set is backed by the provided Scala Set 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 of
asSet(java.util.Set)
then the original Java Set will be returned.- s
The Set to be converted.
- returns
A Java Set view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
propertiesAsScalaMap(p: Properties): mutable.Map[String, String]
Implicitly converts a Java
Properties
to a Scalamutable Map[String, String]
.Implicitly converts a Java
Properties
to a Scalamutable Map[String, String]
.The returned Scala
Map[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
A Scala mutable Map[String, String] view of the argument.
- Definition Classes
- LowPriorityWrapAsScala
-
implicit
def
seqAsJavaList[A](seq: Seq[A]): java.util.List[A]
Implicitly converts a Scala Seq to a Java List.
Implicitly converts a Scala Seq to a Java List. The returned Java List is backed by the provided Scala Seq 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 of
asSeq(java.util.List)
then the original Java List will be returned.- seq
The Seq to be converted.
- returns
A Java List view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
-
implicit
def
setAsJavaSet[A](s: Set[A]): java.util.Set[A]
Implicitly converts a Scala Set to a Java Set.
Implicitly converts a Scala Set to a Java Set. The returned Java Set is backed by the provided Scala Set 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 of asSet(java.util.Set) then the original Java Set will be returned.
- s
The Set to be converted.
- returns
A Java Set view of the argument.
- Definition Classes
- LowPriorityWrapAsJava
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 right.
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 (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
.