Frage

I can see that there are ways to convert from a Java list to a Scala seq (using asScala method) but I could not find any converters for java.util.Vector.

Is there a similar way for this conversion too?

War es hilfreich?

Lösung

JavaConverters is a bit more idiomatic than JavaConversions.

import collection.JavaConverters._

val v = new java.util.Vector[Int]
val s: Seq[Int] = v.asScala

Andere Tipps

Import JavaConversions:

import collection.JavaConversions._

val v = new java.util.Vector[Int]()
val s = v.toSeq
// s is of type Seq[Int]

Note that starting Scala 2.13, the package scala.jdk.CollectionConverters provides asScala via a pimp of java.util.List and replaces packages scala.collection.JavaConverters/JavaConversions:

import scala.jdk.CollectionConverters._

// val javaVector = new java.util.Vector(java.util.Arrays.asList(1, 2, 3))
javaVector.asScala.toSeq
// Seq[Int] = List(1, 2, 3)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top