Junior — Middle
Welke automatische methoden worden door de compiler gegenereerd voor data class en waar zijn ze voor bedoeld?
sobes.tech AI
Antwoord van AI
In Kotlin genereert de compiler automatisch verschillende nuttige methoden voor data class die het werken met objecten vergemakkelijken:
equals()— om objecten te vergelijken op basis van de waarde van alle eigenschappen.hashCode()— om een hash-code te verkrijgen die consistent is metequals().toString()— geeft een stringrepresentatie van het object met alle eigenschappen.copy()— maakt een kopie van het object met de mogelijkheid om bepaalde eigenschappen te wijzigen.componentN()functies — voor destructurering van het object in aparte variabelen.
Voorbeeld:
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) = user2
println(name) // Alice
println(age) // 31
Deze methoden vereenvoudigen het werken met onveranderlijke objecten en maken de code expressiever.