Scala Array [String]到Java Collection [String]

时间:2012-01-11 15:02:16

标签: scala

我有一个Scala数组字符串:

val names:Array[String] = something.map(...)

我需要调用接受Collection

的Android(java)method
public void addAll (Collection<? extends T> collection)

如何将数组转换为集合?

2 个答案:

答案 0 :(得分:21)

Java方法:

java.util.Arrays.asList(names: _*)

Scala方法:

import collection.JavaConversions._

val namesColl: java.util.Collection[String] = names.toSeq

在后一种方法中,names数组首先转换为Seq[String],然后位于JavaConversions中的隐式转换表明需要Java集合,因此它会显着地应用必要的转换。别担心,it is constant in time

答案 1 :(得分:1)

JavaConversions现已弃用。 您应该使用JavaConverters代替。

import collection.JavaConverters.asJavaCollection
val collection = asJavaCollection(Array("some value"))