7
在下面的任何方式选择使用asJavaIterable?我知道我可以拼出特定的函数名称,但我想知道如果我可以只声明指定我想要的类型。我也很好奇,为什么JavaJavaIterable不会优先于JavaJavaCollection。解决Scala中模糊的隐式转换问题
scala> import scala.collection.JavaConversions._
import scala.collection.JavaConversions._
scala> Iterable(0,1):java.lang.Iterable[Int]
<console>:11: error: type mismatch;
found : Iterable[Int]
required: java.lang.Iterable[Int]
Note that implicit conversions are not applicable because they are ambiguous:
both method asJavaIterable in object JavaConversions of type [A](i: Iterable[A])java.lang.Iterable[A]
and method asJavaCollection in object JavaConversions of type [A](i: Iterable[A])java.util.Collection[A]
are possible conversion functions from Iterable[Int] to java.lang.Iterable[Int]
Iterable(0,1):java.lang.Iterable[Int]
^