Sobes.tech
Junior — Middle

Que funções ou métodos na classe de dados recebem automaticamente a substituição das operações básicas?

sobes.tech IA

Resposta da IA

No Kotlin, ao declarar uma classe com a palavra-chave data, os seguintes métodos são sobrescritos automaticamente:

  • equals() — para comparar objetos pelo valor de suas propriedades.
  • hashCode() — para funcionamento correto com coleções hash.
  • toString() — para uma representação de string conveniente do objeto.
  • copy() — para criar uma cópia do objeto com a possibilidade de modificar algumas propriedades.
  • Funções componentN() — para destruição do objeto por propriedades.

Exemplo:

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

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user1
println(name) // Alice