繁体   English   中英

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

[英]How to convert java list to array in scala?

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

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

list.toArray(Array.ofDim[POJO](list.size))

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


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

import scala.collection.JavaConverters._

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

list.asScala.toArray

下面的代码对我有用:

应用程序配置文件

mydata.crypto {

ciphers = [

           "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"

           "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"

           "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"

          ]

 protocols = [

               "TLSv1.2"

             ]

   }

scala 中的示例代码读为列表:

val ciphersList = config.getStringList("mydata.crypto.ciphers")

val protocolList = config.getStringList("mydata.crypto.protocols")

导入 scala.collection.JavaConverters._

val enableCiphersList = ciphersList.asScala.toArray

val enableProtocolsList = 协议列表.asScala.toArray

现在我们可以看到“enableCiphersList”和“enableProtocolsList”是字符串类型的数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM