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

时间:2018-04-14 14:18:53

标签: java arrays scala list collections

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

2 个答案:

答案 0 :(得分:4)

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

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

此API将数组实例化的所有问题从toArray方法转移给您,因此您有责任确保POJO具体或提供ClassTag }。

您还可以分两步完成转换,首先使用JavaConverters中的asScala

import scala.collection.JavaConverters._

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

list.asScala.toArray

答案 1 :(得分:0)

以下代码对我有用:

applcation.conf

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 = protocolList.asScala.toArray

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