Junior
Кои променливи могат да се използват в клас данни (data class)?
sobes.tech AI
Отговор от AI
В data class могат да се използват:
val(само за четене свойство): Свойството се инициализира при създаването на обекта и не може да бъде променяно впоследствие. То е част от автоматично генерираните методи (equals(),hashCode(),toString(),copy).var(променливо свойство): Свойството може да бъде променяно след създаването на обекта. То също е част от генерираните методи.- Свойства, обявени в тялото на класа: Тези свойства не са част от основните свойства на data class и не участват в генерирането на стандартните методи.
Пример:
data class User(
val id: Int, // само за четене, част от основните свойства
var name: String, // променливо, част от основните свойства
val creationTime: Long = System.currentTimeMillis() // само за четене, с подразбираща се стойност, част от основните свойства
) {
val isAdmin: Boolean = false // само за четене, не е част от основните свойства, не се включва в equals/hashCode/toString
}