Sobes.tech
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
}