将 Java 列表更改为 Scala Seq?

jua*_*cia 1 scala

我的配置中有以下列表:

val markets = Configuration.getStringList("markets");
Run Code Online (Sandbox Code Playgroud)

为了创建一个序列,我编写了以下代码:

JavaConverters.asScalaIteratorConverter(markets.iterator()).asScala.toSeq
Run Code Online (Sandbox Code Playgroud)

我希望我能以一种不太冗长的方式做到这一点,例如:

markets.toSeq
Run Code Online (Sandbox Code Playgroud)

然后从该列表中我得到序列。近期我会有更多的配置;有没有一种解决方案可以提供这种简单性?

无论我使用什么配置库,我都想要一个序列。我不想使用所声明的详细解决方案JavaConverters

Jef*_*ung 5

JavaConversions自 Scala 2.12.0 起已弃用。使用JavaConverters; 您可以导入scala.collection.JavaConverters._以使其不那么冗长:

import scala.collection.JavaConverters._

val javaList = java.util.Arrays.asList("one", "two")
val scalaSeq = javaList.asScala.toSeq
Run Code Online (Sandbox Code Playgroud)