Scala: объекты-компаньоны и "новое" ключевое слово

В моих недавних сообщениях об использовании или опускании "нового" ключевого слова в Scala ( "новое" ключевое слово в Scala) мне сказали, что упущение исходит из того, что определенные классы имеют сопутствующие объекты, определенные с помощью метода apply на них. Мой вопрос: можем ли мы сказать или есть общее правило, чтобы отличать, какие классы/объекты имеют объект-компаньон и применять метод?

Спасибо заранее и извините, это глупый вопрос, но, исходя из фона Java, он немного запутан.

Ответы

Ответ 1

В Scala документации по API вы видите небольшую иконку enter image description here в списке слева. Если вы нажмете на это, перейдите к документации сопутствующего объекта класса или признака, упомянутого выше.

В большинстве классов коллекций и многих других классов в стандартной библиотеке есть объекты-компаньоны с методами apply.

Для классов case компилятор Scala автоматически создает объект-компаньон с помощью метода apply (а также других методов).

Ответ 2

В scala документации API вы можете получить доступ к сопутствующему объекту, щелкнув значок Object icon как описанный Jesper, но вы также можете переключаться между классом и его сопутствующим объектом, нажав на символ класса/объекта в верхней части главной панели:

enter image description here