如何从Java中的Java List创建scala.collection.immutable.Seq?

spi*_*den 25 java scala akka

我正在尝试让Akka进入我的Java项目,并且我已经挂了一个来自Scala的Seq类型的小问题.我能够将我的ActorRef的Java List转换为scala.collection.Seq,但我尝试使用的Akka API需要scala.collection.immutable.Seq.我该怎么做?

码:

static class Router extends UntypedLoadBalancer {
    private final InfiniteIterator<ActorRef> workers;

    public Router(List<ActorRef> workers) {
        Seq workerSeq = asScalaBuffer(workers);

        // how to get from the scala.collection.Seq above to the instance of
        // scala.collection.immutable.Seq required by CyclicIterator below?
        this.workers = new CyclicIterator<ActorRef>();
    }

    public InfiniteIterator<ActorRef> seq() {
        return workers;
    }
}
Run Code Online (Sandbox Code Playgroud)

Lan*_*dei 39

您可以使用scala.collection.JavaConversions.asScalaBuffer将Java转换List为Scala Buffer,它具有toList方法,Scala Listcollection.immutable.Seq.