A collection 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.mutable.ConcurrentMap <=> 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, eg.
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]
2.8
o != arg0
is the same as !(o == (arg0))
.
o != arg0
is the same as !(o == (arg0))
.
the object to compare against this object for dis-equality.
false
if the receiver object is equivalent to the argument; true
otherwise.
o == arg0
is the same as if (o eq null) arg0 eq null else o.equals(arg0)
.
o == arg0
is the same as if (o eq null) arg0 eq null else o.equals(arg0)
.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
o == arg0
is the same as o.equals(arg0)
.
o == arg0
is the same as o.equals(arg0)
.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
use asScalaBuffer instead
use asJavaCollection instead
use asScalaConcurrentMap instead
use asJavaConcurrentMap instead
use asJavaDictionary instead
use asJavaEnmeration instead
This method is used to cast the receiver object to be of type T0
.
This method is used to cast the receiver object to be of type T0
.
Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression
1.asInstanceOf[String]
will throw a ClassCastException
at runtime, while the expression
List(1).asInstanceOf[List[String]]
will not. In the latter example, because the type argument is erased as
part of compilation it is not possible to check whether the contents of the list are of the requested typed.
the receiver object.
use collectionAsScalaIterable instead
use iterableAsScalaIterable instead
use asJavaIterable instead
use enumerationAsScalaIterator instead
use asScalaIterator instead
use asJavaIterator instead
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.
The SizedIterable to be converted.
A Java Collection view of the argument.
Implicitly converts a Scala mutable ConcurrentMap
to a Java ConcurrentMap
.
Implicitly converts a Scala mutable ConcurrentMap
to a Java ConcurrentMap
.
The returned Java ConcurrentMap
is backed by the provided Scala ConcurrentMap
and any side-effects of using it via the Java interface will be visible
via the Scala interface and vice versa.
If the Scala ConcurrentMap was previously obtained from an implicit or explicit call of asConcurrentMap(java.util.concurrect.ConcurrentMap) then the original Java ConcurrentMap will be returned.
The ConcurrentMap to be converted.
A Java ConcurrentMap view of the argument.
Implicitly converts a Scala mutable Map to a Java Dictionary.
Implicitly converts a Scala mutable Map to a Java Dictionary. The returned Java Dictionary is backed by the provided Scala Dictionary 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 of asMap(java.util.Dictionary) then the original Java Dictionary will be returned.
The Map to be converted.
A Java Dictionary view of the argument.
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.
The Iterator to be converted.
A Java Enumeration view of the argument.
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.
The Iterable to be converted.
A Java Iterable view of the argument.
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.
The Iterator to be converted.
A Java Iterator view of the argument.
use seqAsJavaList instead
use mutableSeqAsJavaList instead
use bufferAsJavaList instead
use mapAsJavaMap instead
use mutableMapAsJavaMap instead
use setAsJavaSet instead
use mutableSetAsJavaSet instead
use seqAsJavaList instead
use mutableSeqAsJavaList instead
use bufferAsJavaList instead
use propertiesAsScalaMap instead
use dictionaryAsScalaMap instead
use mapAsScalaMap instead
use mapAsJavaMap instead
use mutableMapAsJavaMap instead
Implicitly converts a Java List to a Scala mutable Buffer.
Implicitly converts a Java List to a Scala mutable Buffer. The returned Scala Buffer is backed by the provided Java List 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 of asScalaBuffer(scala.collection.mutable.Buffer) then the original Scala Buffer will be returned.
The List to be converted.
A Scala mutable Buffer view of the argument.
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.
The ConcurrentMap to be converted.
A Scala mutable ConcurrrentMap view of the argument.
use collectionAsScalaIterable instead
use iterableAsScalaIterable instead
Implicitly converts a Java Iterator to a Scala Iterator.
Implicitly converts a Java Iterator to a Scala Iterator. The returned Scala Iterator is backed by the provided Java Iterator 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 of asIterator(scala.collection.Iterator) then the original Scala Iterator will be returned.
The Iterator to be converted.
A Scala Iterator view of the argument.
use propertiesAsScalaMap instead
use mapAsScalaMap instead
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.
The Set to be converted.
A Scala mutable Set view of the argument.
use asScalaSet instead
use setAsJavaSet instead
use mutableSetAsJavaSet instead
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.
The Buffer to be converted.
A Java List view of the argument.
This method creates and returns a copy of the receiver object.
Implicitly converts a Java Collection to an Scala Iterable.
Implicitly converts a Java Collection to an Scala Iterable.
If the Java Collection was previously obtained from an implicit or explicit call of collectionAsScalaIterable(scala.collection.SizedIterable) then the original Scala Iterable will be returned.
The Collection to be converted.
A Scala Iterable view of the argument.
Implicitly converts a Java Dictionary to a Scala mutable Map[String, String].
Implicitly converts a Java Dictionary to a Scala mutable Map[String, String]. The returned Scala Map[String, String] is backed by the provided Java Dictionary and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.
A Scala mutable Map[String, String] view of the argument.
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.
The Enumeration to be converted.
A Scala Iterator view of the argument.
This method is used to test whether the argument (arg0
) is a reference to the
receiver object (this
).
This method is used to test whether the argument (arg0
) is a reference to the
receiver object (this
).
The eq
method implements an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation] on
non-null instances of AnyRef
:
* It is reflexive: for any non-null instance x
of type AnyRef
, x.eq(x)
returns true
.
* It is symmetric: for any non-null instances x
and y
of type AnyRef
, x.eq(y)
returns true
if and
only if y.eq(x)
returns true
.
* It is transitive: for any non-null instances x
, y
, and z
of type AnyRef
if x.eq(y)
returns true
and y.eq(z)
returns true
, then x.eq(z)
returns true
.
Additionally, the eq
method has three other properties.
* It is consistent: for any non-null instances x
and y
of type AnyRef
, multiple invocations of
x.eq(y)
consistently returns true
or consistently returns false
.
* For any non-null instance x
of type AnyRef
, x.eq(null)
and null.eq(x)
returns false
.
* null.eq(null)
returns true
.
When overriding the equals
or hashCode
methods, it is important to ensure that their behavior is
consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2
), they
should be equal to each other (o1 == o2
) and they should hash to the same value (o1.hashCode == o2.hashCode
).
the object to compare against this object for reference equality.
true
if the argument is a reference to the receiver object; false
otherwise.
This method is used to compare the receiver object (this
) with the argument object (arg0
) for equivalence.
This method is used to compare the receiver object (this
) with the argument object (arg0
) for equivalence.
The default implementations of this method is an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence
relation]:
* It is reflexive: for any instance x
of type Any
, x.equals(x)
should return true
.
* It is symmetric: for any instances x
and y
of type Any
, x.equals(y)
should return true
if and
only if y.equals(x)
returns true
.
* It is transitive: for any instances x
, y
, and z
of type AnyRef
if x.equals(y)
returns true
and
y.equals(z)
returns true
, then x.equals(z)
should return true
.
If you override this method, you should verify that your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to override hashCode
to ensure that objects
that are "equal" (o1.equals(o2)
returns true
) hash to the same Int
(o1.hashCode.equals(o2.hashCode)
).
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.
This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.
The details of when and if the finalize
method are invoked, as well as the interaction between finalize
and non-local returns and exceptions, are all platform dependent.
Returns a representation that corresponds to the dynamic class of the receiver object.
Returns a representation that corresponds to the dynamic class of the receiver object.
The nature of the representation is platform dependent.
a representation that corresponds to the dynamic class of the receiver object.
Returns a hash code value for the object.
Returns a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet
not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
.
However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have
identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure
to verify that the behavior is consistent with the equals
method.
the hash code value for the object.
This method is used to test whether the dynamic type of the receiver object is T0
.
This method is used to test whether the dynamic type of the receiver object is T0
.
Note that the test result of the test is modulo Scala's erasure semantics. Therefore the expression
1.isInstanceOf[String]
will return false
, while the expression List(1).isInstanceOf[List[String]]
will
return true
. In the latter example, because the type argument is erased as part of compilation it is not
possible to check whether the contents of the list are of the requested typed.
true
if the receiver object is an instance of erasure of type T0
; false
otherwise.
Implicitly converts a Java Iterable to a Scala Iterable.
Implicitly converts a Java Iterable to a Scala Iterable. The returned Scala Iterable is backed by the provided Java Iterable 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 of iterableAsScalaIterable(scala.collection.Iterable) then the original Scala Iterable will be returned.
The Iterable to be converted.
A Scala Iterable view of the argument.
Implicitly converts a Scala Map to a Java Map.
Implicitly converts a Scala 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.
The Map to be converted.
A Java Map view of the argument.
Implicitly converts a Java Map to a Scala mutable Map.
Implicitly converts a Java Map to a Scala mutable Map. The returned Scala Map is backed by the provided Java Map 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 of mapAsScalaMap(scala.collection.mutable.Map) then the original Scala Map will be returned.
The Map to be converted.
A Scala mutable Map view of the argument.
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.
The Map to be converted.
A Java Map view of the argument.
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.
The Seq to be converted.
A Java List view of the argument.
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.
The Set to be converted.
A Java Set view of the argument.
o.ne(arg0)
is the same as !(o.eq(arg0))
.
o.ne(arg0)
is the same as !(o.eq(arg0))
.
the object to compare against this object for reference dis-equality.
false
if the argument is not a reference to the receiver object; true
otherwise.
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
Implicitly converts a Java Properties to a Scala mutable Map[String, String].
Implicitly converts a Java Properties to a Scala mutable Map[String, String]. The returned Scala Map[String, String] is backed by the provided Java Properties and any side-effects of using it via the Scala interface will be visible via the Java interface and vice versa.
A Scala mutable Map[String, String] view of the argument.
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.
The Seq to be converted.
A Java List view of the argument.
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.
The Set to be converted.
A Java Set view of the argument.
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
a string representation of the object.
A collection of implicit conversions supporting interoperability between Scala and Java collections.
The following conversions are supported:
In all cases, converting from a source type to a target type and back again will return the original source object, eg.
In addition, the following one way conversions are provided: