Sobes.tech
Junior — Middle

Este permis să folosiți variabile (var) în parametrii constructorului data class în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, în parametrii constructorului unei data class nu se poate folosi modificatorul var. Parametrii constructorului unei data class sunt implicit val (imutați) sau var (mutabili), dar la declararea parametrilor constructorului trebuie specificat explicit var sau val.

De exemplu, o declarație corectă a unei data class cu var:

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

Dacă nu se indică var sau val, parametrii vor fi doar parametri ai constructorului, dar nu proprietăți ale clasei, iar data class nu va putea genera metodele necesare (equals, hashCode, toString) pentru aceștia.

Prin urmare, nu se poate folosi pur și simplu var fără val sau var în parametrii constructorului unei data class — trebuie specificat explicit var sau val.