Back to questions
Junior — Middle
71
Насколько оправдано использование ключевого слова var в определении data-класса?
Answer from AI
sobes.tech AI
В Kotlin при определении data class использование ключевого слова var или val перед свойствами определяет, будут ли они изменяемыми или нет.
var— свойство изменяемое (mutable), его значение можно менять после создания объекта.val— свойство неизменяемое (immutable), значение задаётся один раз при создании и не меняется.
Использование var оправдано, если вы действительно планируете изменять значение свойства после создания экземпляра класса. Если же объект должен быть неизменяемым, лучше использовать val для повышения безопасности и предсказуемости кода.
Пример:
data class User(var name: String, val id: Int)
val user = User("Alice", 1)
user.name = "Bob" // допустимо
// user.id = 2 // ошибка компиляции
Таким образом, выбор var или val зависит от требований к изменяемости данных в вашем классе.