在 Java 代码中从 scala.collection.Seq<String> 转换为 java.util.List<String>
2022-09-01 11:33:27
我从Java调用Scala方法。我需要从Seq到List进行转换。
我无法修改 Scala 方法的签名,因此我无法从asJavaCollection
scala.collection.JavaConversions._
关于我如何实现这一目标的任何想法?
使用 Scala 2.9.3
我从Java调用Scala方法。我需要从Seq到List进行转换。
我无法修改 Scala 方法的签名,因此我无法从asJavaCollection
scala.collection.JavaConversions._
关于我如何实现这一目标的任何想法?
使用 Scala 2.9.3
使用 ,您走在正确的轨道上,但是此特定转换所需的方法是:JavaConversions
seqAsJavaList
java.util.List<String> convert(scala.collection.Seq<String> seq) {
return scala.collection.JavaConversions.seqAsJavaList(seq);
}
更新:已弃用,但可以在JavaConverters
中找到相同的函数。JavaConversions
java.util.List<String> convert(scala.collection.Seq<String> seq) {
return scala.collection.JavaConverters.seqAsJavaList(seq);
}
从 Scala 2.9 开始,你不应该使用隐式,因为它们已被弃用,很快就会被删除。相反,要像这样转换为java使用包(尽管它看起来不是很好):JavaConversions
Seq
List
convert
import scala.collection.convert.WrapAsJava$;
public class Test {
java.util.List<String> convert(scala.collection.Seq<String> seq) {
return WrapAsJava$.MODULE$.seqAsJavaList(seq);
}
}