Scala中Array和WrappedArray有什么区别

时间:2017-01-26 20:01:20

标签: arrays scala

我对这两个系列感到有些困惑。

我知道Scala的Array调用Java API。在这种情况下,Wrapped Array的作用是什么(及其性能特征)?

http://www.scala-lang.org/api/current/scala/collection/mutable/WrappedArray.html

谢谢!

1 个答案:

答案 0 :(得分:14)

WrappedArray包装Array以提供额外的功能。它还有一堆类型,而数组只扩展了可序列化和可克隆的。这允许包装数组,以便它可以在需要某些通用集合类型如Seq的地方使用。

同样值得注意的是ArrayOps这与WrappedArray类似,因为它使用额外的操作来丰富数组。区别在于ArrayOps中的操作会返回常规Array,而来自WrappedArray的操作会返回WrappedArray

ArrayOps的优先级高于WrappedArray,因此除非WrappedArray提供其中一种类型,否则将会使用它。