在此之前的Scala序列类型的2.10版本有类似的方法toList和toArray用于从一种类型转换为另一种.从Scala 2.10开始,我们有to[_]例如to[List]包含toList和朋友的东西,并且还使我们能够转换为新类型Vector,甚至可能转换为我们自己的集合类型.当然,它使您能够转换为仅作为类型参数知道的类型,例如to[A]- 很好!
但为什么旧的方法不被弃用?它们更快吗?是否有toList工作但to[List]不是的情况?我们是否应该优先选择其中一个工作?
toList在TraversableOnceas中实现to[List],因此不会有任何明显的性能差异.
但是,toArray(非常轻微)to[Array]比前者分配正确大小的数组更有效,而后者首先创建一个数组,然后设置大小提示(就像它对每个目标集合类型一样).除非您在紧密循环中将数据转换为数组,否则这不应对实际应用程序产生影响.
旧的方法很容易被弃用,我敢打赌他们将来会这样做,但人们已经习惯了他们,立即弃用他们可能会让一些人生气.