Array在哪里获取其toList方法

时间:2011-03-11 21:21:50

标签: scala

通过搜索,我理解将数组转换为List的方式(或方法)是这样的:

val l = Array(1, 2, 3).toList

但是我不仅无法在Array的API文档中找到toList方法,我无法在任何似乎是Array的祖先或继承特征的任何东西中找到它。

使用较新的2.9 API文档,我发现toList存在于以下内容中:

ImmutableMapAdaptor ImmutableSetAdaptor IntMap List ListBuffer LongMap 
MutableList Option ParIterableLike PriorityQueue Stack StackProxy 
StreamIterator SynchronizedSet SynchronizedStack TraversableForwarder 
TraversableOnce TraversableOnceMethods TraversableProxyLike

但是我无法理解如何将toList中的一个作为Array的一部分。谁能解释一下呢?

1 个答案:

答案 0 :(得分:14)

toList以及在Java数组中本身没有的类似方法(包括我们的旧收藏夹,map,flatMap,filter等)来自s.c.m.ArrayOps,这些数组通过{{3}中的隐式转换获取}。寻找名称以ArrayOps结尾的隐式方法,你会看到魔法的来源。