Por favor, tengan paciencia, todavía soy bastante novato con Scala. Tengo el siguiente código:java.util.Iterator a Scala list?
private lazy val keys : List[String] = obj.getKeys().asScala.toList
obj.getKeys devuelve un java.util.Iterator
Calling asScala, a través de JavaConverers (que es importado) de acuerdo con los documentos ..
java.util.Iterator <==> scala.collection.Iterator
scala.collection.Iterator define
def toList : List[A]
Basado en esto creo que esto debería funcionar, sin embargo er aquí está el error de compilación.
[scalac] <file>.scala:11: error: type mismatch;
[scalac] found : List[?0] where type ?0
[scalac] required: List[String]
[scalac] private lazy val keys : List[String] = obj.getKeys().asScala.toList
[scalac] one error found
entiendo el parámetro de tipo o el iterador Java es una serie Java, y que yo estoy tratando de crear una lista de cadenas Scala, pero (quizás ingenuamente) pensaba que habría una conversión implícita.
¡Muchas gracias por la respuesta! parece que usted y Matthew Farwell están de acuerdo en su mayor parte. Hice lo que sugieres, obj.getKeys(). AsInstanceOf [java.util.Iterator [String]]. AsScala.toList y parece funcionar, y no recibí una advertencia de compilación. – rshepherd