Per favore, pazienza con me, sono ancora piuttosto noobish con Scala. Ho il seguente codice:java.util.Iterator all'elenco Scala?
private lazy val keys : List[String] = obj.getKeys().asScala.toList
obj.getKeys restituisce un java.util.Iterator
Calling asScala, tramite JavaConverers (che viene importato) Secondo la documentazione ..
java.util.Iterator <==> scala.collection.Iterator
scala.collection.Iterator definisce
def toList : List[A]
Quindi, in base a questo ho creduto che questo dovrebbe funzionare, howev er ecco l'errore di compilazione.
[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
Capisco il parametro di tipo o l'Iterator Java è una stringa Java, e che sto cercando di creare una lista di stringhe Scala, ma (forse ingenuamente) pensato che ci sarebbe stata una conversione implicita.
Grazie mille per la risposta! sembra che tu e Matthew Farwell siate d'accordo per la maggior parte. Ho fatto quello che mi hai suggerito, obj.getKeys(). AsInstanceOf [java.util.Iterator [String]]. AsScala.toList e sembra funzionare, e non ho ricevuto un avviso di compilazione. – rshepherd