Convert from scala.collection.Seq<String> to java.util.List<String> in Java code
You're on the right track using JavaConversions
, but the method you need for this particular conversion is seqAsJavaList
:
java.util.List<String> convert(scala.collection.Seq<String> seq) {
return scala.collection.JavaConversions.seqAsJavaList(seq);
}
Update: JavaConversions
is deprecated, but the same function can be found in JavaConverters
.
java.util.List<String> convert(scala.collection.Seq<String> seq) {
return scala.collection.JavaConverters.seqAsJavaList(seq);
}
Since Scala 2.9, you shouldn't use implicits from JavaConversions
since they are deprecated and will soon be removed. Instead, to convert Seq
into java List
use convert
package like this (although it doesn't look very nice):
import scala.collection.convert.WrapAsJava$;
public class Test {
java.util.List<String> convert(scala.collection.Seq<String> seq) {
return WrapAsJava$.MODULE$.seqAsJavaList(seq);
}
}
Since 2.12 this is the recommended way:
public static <T> java.util.List<T> convert(scala.collection.Seq<T> seq) {
return scala.collection.JavaConverters.seqAsJavaList(seq);
}
All other methods a @deprecated("use JavaConverters or consider ToJavaImplicits", since="2.12.0")