Сколько переменных мы можем объявить в первичном конструкторе класса данных за раз в Kotlin? - PullRequest
0 голосов
/ 05 мая 2020

Допустим, у нас есть 100 переменных для создания класса данных, поэтому нам нужно объявить все 100 переменных в первичном конструкторе или есть другой способ?

Ответы [ 2 ]

2 голосов
/ 05 мая 2020

Допустим, у нас есть 100 переменных для создания класса данных

Допустим, это плохая идея с точки зрения ремонтопригодности. Я бы нервничал по поводу генерируемого кодом класса, имеющего 100 свойств, не говоря уже о том, что поддерживается вручную.

поэтому нам нужно объявить все 100 переменных в основном конструкторе

A data class может иметь обычные свойства, как и любой другой класс Kotlin. Таким образом, все 100 не обязательно должны быть в основном конструкторе.

Однако только те свойства в основном конструкторе учитываются в «специальном материале», который мы генерируем для нас с помощью data class, например:

  • toString()
  • copy()
  • операции равенства
0 голосов
/ 05 мая 2020

Вы должны где-нибудь объявить все переменные. Насколько мне известно, это может быть комбинация основного конструктора, свойств и блока init. Примерно так:

data class Example(val first : String, val second : String) {
    val bothNotEmpty : Boolean = first.isNotEmpty() && second.isNotEmpty()
    val randomUUID : String

    init {
        randomUUID = UUID.randomUUID().toString()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...