Scala: сопутствующие объекты и «новое» ключевое слово - PullRequest
8 голосов
/ 21 марта 2012

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

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

Ответы [ 2 ]

11 голосов
/ 21 марта 2012

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

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

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

4 голосов
/ 21 марта 2012

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

enter image description here

...