私と一緒にお立ち寄りください、私はまだかなりScalaとnoobishです。java.util.Iterator to Scalaリスト?
private lazy val keys : List[String] = obj.getKeys().asScala.toList
obj.getKeysがドキュメントに従って(インポートする)JavaConverers介し
asScalaをコールするjava.util.Iteratorを返す..
java.util.Iterator <==> scala.collection.Iterator
:私は、次のコードを持っていますイテレータが定義する
def toList : List[A]
これに基づいて、私はこれがうまくいくと信じていましたここではコンパイルエラーです。
[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
私は型パラメータまたはJavaのイテレータは、Java文字列であることを理解し、私はScalaの文字列のリストを作成しようとしていますが、(おそらく単純)が暗黙の変換があるだろうと思っていること。
ありがとうございました!あなたとMatthew Farwellの大部分が同意するようです。私はあなたが何を提案したのか、obj.getKeys()。asInstanceOf [java.util.Iterator [String]]。asScala.toListこれはうまくいくように見えますが、私はコンパイルの警告を受け取りませんでした。 – rshepherd