Участвуют ли в генерации методов data class поля из body? Можно ли выпилить из генерации поле из конструктора?

Ответ: Нет.

В Kotlin только свойства, объявленные в первичном конструкторе дата-класса, участвуют в генерации методов equals(), hashCode(), toString(), copy() и компонентных функций (component1(), component2() и т.д.). Свойства, объявленные в теле класса (body), не участвуют в этих автоматически сгенерированных методах. Таким образом, вы можете исключить поле из генерации методов, объявив его в теле класса, а не в первичном конструкторе.


Опубликовано

в

от

Метки: