Как преобразовать scala. Список к java.util. Список?

Как преобразовать Scala scala.List в Java java.util.List?

106
задан Xavier Guihot 31 March 2019 в 20:01
поделиться

2 ответа

Список Scala и Список Java - два разных существа, потому что первый неизменяем, а второй - изменяем. Итак, чтобы перейти от одного к другому, вам сначала нужно преобразовать Scala List в изменяемую коллекцию.

В Scala 2.7:

import scala.collection.jcl.Conversions.unconvertList
import scala.collection.jcl.ArrayList
unconvertList(new ArrayList ++ List(1,2,3))

Начиная со Scala 2.8:

import scala.collection.JavaConversions._
import scala.collection.mutable.ListBuffer
asList(ListBuffer(List(1,2,3): _*))
val x: java.util.List[Int] = ListBuffer(List(1,2,3): _*)

Однако asList в этом примере не требуется, если ожидаемый тип является Java List , поскольку преобразование неявное, как показано в последней строке.

68
ответ дан 24 November 2019 в 03:47
поделиться

Для одиночных вызовов выполнение вручную может быть самым простым решением:

val slist = List (1, 2, 3, 4)          
val jl = new java.util.ArrayList [Integer] (slist.size)
slist.foreach (jl.add (_))   

Я не измерял производительность.

1
ответ дан 24 November 2019 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: