tutorial streams lightbend latest java scala akka

streams - ¿Cómo crear un scala.collection.immutable.Seq desde una lista de Java en Java?



akka wikipedia (3)

Estoy tratando de hacer que Akka entre en mi proyecto Java, y estoy colgado de un pequeño problema con los tipos de Seq de Scala. Puedo convertir mi Lista de ActorRef de Java en scala.collection.Seq, pero la API de Akka que estoy tratando de usar requiere scala.collection.immutable.Seq. ¿Cómo puedo hacer uno?

Código:

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; } }



Puede usar scala.collection.JavaConversions.asScalaBuffer para convertir la List Java en un Buffer Scala, que tiene un método toList , y una List Scala es un collection.immutable.Seq .


Puedes usar:

scala.collection.JavaConverters.collectionAsScalaIterableConverter(workers).asScala().toSeq()