Sobes.tech
Junior

Ce variabile pot fi utilizate într-o clasă de date (data class)?

sobes.tech AI

Răspuns de la AI

Într-o data class pot fi utilizate:

  • val (proprietate doar pentru citire): Proprietatea este inițializată la crearea obiectului și nu poate fi modificată ulterior. Face parte din metodele generate automat (equals(), hashCode(), toString(), copy).
  • var (proprietate modificabilă): Proprietatea poate fi modificată după crearea obiectului. De asemenea, face parte din metodele generate.
  • Proprietățile declarate în corpul clasei: Aceste proprietăți nu fac parte din principalele proprietăți ale data class și nu participă la generarea metodelor standard.

Exemplu:

data class User(
    val id: Int, // doar pentru citire, parte din principalele proprietăți
    var name: String, // modificabil, parte din principalele proprietăți
    val creationTime: Long = System.currentTimeMillis() // doar pentru citire, cu valoare implicită, parte din principalele proprietăți
) {
    val isAdmin: Boolean = false // doar pentru citire, nu face parte din principalele proprietăți, nu este inclus în equals/hashCode/toString
}