Какие методы создаются для классов классов Scala?Какие методы генерируются для классов классов Scala?
Я знаю, что некоторые методы генерируются специально для конкретных классов:
- равен
- canEqual
Что остальные?
Кроме того, я вижу, что я могу вызвать productArity() для любого класса case. Как это работает? Другими словами, почему действует следующий код?
case class CaseClass()
object CaseClass {
val cc = new CaseClass()
cc.productArity
}
Я побежал javap на код, предоставленный и я мог видеть, что она породила некоторые методы. Там были реализованы все методы продукта. Однако существовал метод productElements(), который возвращал итератору объектов, из которого я не получал, откуда он пришел. productElements не входит в Продукт. Этот метод объявлен где угодно? –
Не могли бы вы скопировать и вставить подпись метода? – nattyddubbs
public scala.collection.Iterator productElements(); –