Sobes.tech
Junior — Middle

Que restrições se aplicam aos campos na data class em Kotlin?

sobes.tech IA

Resposta da IA

No Kotlin, uma data class tem várias restrições nos campos:

  • Todas as propriedades que participam em equals(), hashCode(), toString(), copy() e componentN() devem ser declaradas no construtor primário.
  • Os campos numa data class não podem ser vararg ou inline.
  • Uma data class não pode ser abstrata, aberta, selada ou interna.
  • Todos os parâmetros do construtor primário devem ter pelo menos o modificador val ou var.

Exemplo:

data class User(val name: String, val age: Int)

Aqui, name e age são propriedades que participam automaticamente nos métodos da data class. Se um campo não for declarado no construtor primário, ele não será considerado nesses métodos.