Разница между инициализацией пустого ArrayBuffer с использованием «ArrayBuffer.empty [A]» или «ArrayBuffer [A] ()» в Scala - PullRequest
1 голос
/ 06 апреля 2020

Я только начал изучать Scala и натолкнулся на два синтаксиса для инициализации пустого ArrayBuffer:

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

Есть ли какие-либо различия или предпочтения с точки зрения их использования, поскольку оба дают одинаковый результат, когда элементы добавляются и воспроизводятся?

1 Ответ

3 голосов
/ 06 апреля 2020

Они совпадают, о чем свидетельствует исходный код :

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

Не все типы предлагают <type>[Element]() форму инициализации (см., Например, Option), но <type>.empty[Element] довольно универсален, поэтому его можно использовать, даже если он выглядит избыточным и многословным.

...