为什么这不起作用?
implicit class ImplicitHelper[T <: IndexedSeq[String]](i: T) = {
def bar() = ???
}
val foo: Array[String] = ???
foo.bar // no implicit conversion …
数组没有实现吗? Scala统一集合层次结构中的IndexedSeq?
更新:正如一些用户指出的那样,虚线不是实现,而是隐式转换。因此正确的方法是使用视图范围而不是下面每个答案的类型范围
最佳答案
不连续的线表示视图,而不是直接的层次结构:
final class Array[T](_length: Int) extends java.io.Serializable with java.lang.Cloneable
如您所见,数组不会扩展
IndexedSeq
。这些视图代表implicit conversions因此,这唯一的意思是从
IndexedSeq
到Array
的转换。