Sobes.tech
Junior

Que variáveis podem ser usadas numa classe de dados (data class)?

sobes.tech IA

Resposta da IA

Numa data class podem ser utilizados:

  • val (propriedade de apenas leitura): A propriedade é inicializada ao criar o objeto e não pode ser alterada posteriormente. É parte dos métodos gerados automaticamente (equals(), hashCode(), toString(), copy).
  • var (propriedade mutável): A propriedade pode ser alterada após a criação do objeto. Também faz parte dos métodos gerados.
  • Propriedades declaradas no corpo da classe: Essas propriedades não fazem parte das propriedades principais da data class e não participam na geração dos métodos padrão.

Exemplo:

data class User(
    val id: Int, // apenas leitura, parte das propriedades principais
    var name: String, // mutável, parte das propriedades principais
    val creationTime: Long = System.currentTimeMillis() // apenas leitura, com valor padrão, parte das propriedades principais
) {
    val isAdmin: Boolean = false // apenas leitura, não faz parte das propriedades principais, não é incluída em equals/hashCode/toString
}