Реализовать kotlin функцию копирования для свойств, объявленных в теле класса - PullRequest
0 голосов
/ 20 февраля 2020

Возможно ли в kotlin написать функцию копирования для свойств, объявленных в теле класса, а не в основном конструкторе?

data class Person(val name: String) {
var age: Int = 0
}

Как написать функцию копирования для переменной age?

1 Ответ

0 голосов
/ 20 февраля 2020

почему бы вам просто не переместить переменную в конструктор со значением по умолчанию, например:

data class Person(val name: String, var age: Int = 0) {
}

, тогда вы можете использовать его следующим образом:

Person("Andy")
Person("Andy", 29)

, и копирование будет работать как скважина:

val person = Person("Andy")
person.copy(age = 42)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...