通过搜索,我理解将数组转换为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的一部分。谁能解释一下呢?
答案 0 :(得分:14)
toList
以及在Java数组中本身没有的类似方法(包括我们的旧收藏夹,map,flatMap,filter等)来自s.c.m.ArrayOps
,这些数组通过{{3}中的隐式转换获取}。寻找名称以ArrayOps
结尾的隐式方法,你会看到魔法的来源。