如何从Java中的Java列表创建scala.collection.immutable.Seq?
问题内容:
我正在尝试让Akka进入我的Java项目,并且我挂了一个Scala的Seq类型的小问题。我可以将ActorRef的Java列表转换为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;
}
}
问题答案:
您可以使用scala.collection.JavaConversions.asScalaBuffer
到Java转换List
为斯卡拉Buffer
,其中有一个toList
方法和斯卡拉List
是一个collection.immutable.Seq
。