如何在scala中将java列表转换为数组?

Har*_*mar 2 java arrays collections scala list

如何将 java.util.list[POJO] 转换为 Scala 数组[POJO]?我试过 list.toArray 方法,但它给出了数组 [object]。任何人都可以帮忙吗?

And*_*kin 5

您必须首先创建目标数组,并将其作为toArray方法的输入提供:

list.toArray(Array.ofDim[POJO](list.size))
Run Code Online (Sandbox Code Playgroud)

这个 API 将数组实例化的所有问题从toArray方法转移到你身上,所以你有责任确保它POJO是具体的,或者提供一个ClassTag.


您也可以分两步进行转换,首先使用asScalafrom JavaConverters

import scala.collection.JavaConverters._
Run Code Online (Sandbox Code Playgroud)

然后.toArray从 Scala API调用(与 Java 的 API 不同,它保留类型):

list.asScala.toArray
Run Code Online (Sandbox Code Playgroud)