如何转换 scala。List to a java.util.List?
2022-08-31 08:28:18
如何将Scala的转换为Java的?scala.List
java.util.List
如何将Scala的转换为Java的?scala.List
java.util.List
不知道为什么以前没有提到这一点,但我认为最直观的方法是直接在Scala列表中调用JavaConverters的装饰器方法:asJava
scala> val scalaList = List(1,2,3)
scalaList: List[Int] = List(1, 2, 3)
scala> import scala.collection.JavaConverters._
import scala.collection.JavaConverters._
scala> scalaList.asJava
res11: java.util.List[Int] = [1, 2, 3]
Scala List和Java List是两个不同的野兽,因为前者是不可变的,后者是可变的。因此,要从一个集合到另一个,首先必须将 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): _*)
但是,在该示例中,如果预期的类型是 Java ,则不是必需的,因为转换是隐式的,如最后一行所示。asList
List