Java IterableをScala Iterableに変換するにはどうすればよいですか?
Scala.Iterable[_]
に
java.lang.Iterable[_]
を変換する簡単な方法はありますか?その後、容易に実現できる
import java.lang.{Iterable => JavaItb}
import java.util.{Iterator => JavaItr}
implicit def jitb2sitb[T](jit: JavaItb[T]): Iterable[T] = new SJIterable(jit);
implicit def jitr2sitr[A](jit: JavaItr[A]): Iterator[A] = new SJIterator(jit)
:Scalaの2.8では
class SJIterable[T](private val jitb: JavaItr[T]) extends Iterable[T] {
def elements(): Iterator[T] = jitb.iterator()
}
class SJIterator[T](private val jit: JavaItr[T]) extends Iterator[T] {
def hasNext: Boolean = jit hasNext
def next: T = jit next
}
おかげで、私は標準のScalaのlibsでこのような何かがあった期待していたが、あなたのように」示されているように、あなた自身を回すのは難しいことではありません。 –
これは、これとは逆のコードがどれくらいあるかを考えるのはばかげている! –
これはScala 2.8から始まる標準ライブラリにあります。 –