首页 > 解决方案 > 在 Scala 中使用“ArrayBuffer.empty[A]”或“ArrayBuffer[A]()”初始化空 ArrayBuffer 的区别

问题描述

我刚刚开始学习 Scala,我遇到了两种初始化空的语法,ArrayBuffer它们是:

  1. ArrayBuffer.empty[A]
  2. ArrayBuffer\[A]()

在添加和播放元素时,它们的使用是否有任何区别或偏好,因为两者都会产生相同的结果?

标签: scalascala-collections

解决方案


正如源代码所见证的,它们是相同的:

def empty[A]: ArrayBuffer[A] = new ArrayBuffer[A]()

并非所有类型都提供<type>[Element]()初始化形式(参见Option示例),但<type>.empty[Element]它非常通用,因此即使它显得多余和冗长也可以使用。


推荐阅读