在 Scala 中使用 "ArrayBuffer.empty[A]" 或 "ArrayBuffer[A]()" 初始化空 ArrayBuffer 的区别

Difference between initialization of empty ArrayBuffer using either "ArrayBuffer.empty[A]" or "ArrayBuffer[A]()" in Scala

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

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

在使用它们方面是否有任何差异或偏好,因为在添加和使用元素时两者会产生相同的结果?

它们是相同的,正如 source code:

所见证的
def empty[A]: ArrayBuffer[A] = new ArrayBuffer[A]()

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