📅  最后修改于: 2023-12-03 14:51:10.244000             🧑  作者: Mango
在 Scala 中,我们可以使用 JavaConverters 中的 asScalaBuffer 方法将 Java 的 Shorts 集转换为 Scala 中的可变序列(Buffer),然后再使用 toVector 方法将其转换为不可变序列(Vector)。
以下是一个示例程序:
import scala.collection.JavaConverters._
object ShortConverter {
def toVector(shorts: java.util.List[java.lang.Short]): Vector[Short] = {
shorts.asScala.map(_.toShort).toVector
}
}
object Main {
def main(args: Array[String]): Unit = {
val shorts: java.util.List[java.lang.Short] = new java.util.ArrayList[java.lang.Short]()
shorts.add(1.toShort)
shorts.add(2.toShort)
shorts.add(3.toShort)
val vector = ShortConverter.toVector(shorts)
println(vector)
}
}
在该示例程序中,我们首先导入了 JavaConverters 中的 asScalaBuffer 方法。然后,定义了一个名为 ShortConverter 的对象,其中包含一个 toVector 方法,该方法接受一个 java.util.List[java.lang.Short] 类型的参数,返回一个 Vector[Short] 类型的序列。在 toVector 方法中,我们使用 asScala 方法将 Java 的 Shorts 集转换为 Scala 的可变序列,然后使用 map 方法将集合中的元素转换为 Short 类型,并使用 toVector 方法将其转换为不可变序列。
在 Main 对象中,我们创建了一个 Shorts 集,并将其转换为 Vector 类型的序列并打印输出。
代码片段:
object ShortConverter {
def toVector(shorts: java.util.List[java.lang.Short]): Vector[Short] = {
shorts.asScala.map(_.toShort).toVector
}
}