📅  最后修改于: 2023-12-03 15:07:49.041000             🧑  作者: Mango
在 Scala 中,我们可以使用 JavaConverters
对象中的 asScala
转换器来将 Java 集合转换为 Scala 集合。以下是一个示例程序,演示了如何将 Java 字符串列表转换为 Scala Seq。
import scala.jdk.CollectionConverters._
object JavaListToSeqExample {
def main(args: Array[String]): Unit = {
val javaList = new java.util.ArrayList[String]()
javaList.add("foo")
javaList.add("bar")
val scalaSeq = javaList.asScala.toSeq
println(s"Java List: $javaList")
println(s"Scala Seq: $scalaSeq")
}
}
scala.jdk.CollectionConverters._
,这个包允许我们使用 Java 集合和 Scala 集合之间的隐式转换。javaList
的新的 java.util.ArrayList
对象,并且像普通 Java 代码一样向列表中添加了几个字符串。asScala
转换器将 javaList
转换为 Scala 集合,并使用 toSeq
方法创建一个新的 Scala Seq 对象。println
方法分别输出原始 Java List 和新创建的 Scala Seq。这个程序的输出应该是:
Java List: [foo, bar]
Scala Seq: ArrayBuffer(foo, bar)
我们可以看到,Scala Seq 包含与原始 Java List 相同的元素,但它们的类型现在是 scala.collection.mutable.ArrayBuffer
,而不是 java.util.ArrayList
。