Sobes.tech
Junior — Middle

Valoarea de tip val este imutabilă după declarare?

sobes.tech AI

Răspuns de la AI

În Kotlin, cuvântul cheie val indică o referință imuabilă, adică, după atribuirea unei valori unei variabile declarate cu val, nu se poate schimba această referință către un alt obiect. Cu toate acestea, acest lucru nu înseamnă că obiectul la care face referire val este imuabil. Dacă obiectul este modificabil (de exemplu, MutableList), starea sa internă poate fi schimbată, chiar dacă referința val nu se schimbă.

Exemplu:

val list = mutableListOf(1, 2, 3)
list.add(4) // Acest lucru este permis, conținutul listei se schimbă

// list = mutableListOf(5, 6) // Eroare: nu se poate reatribui un `val`

Prin urmare, val garantează imuabilitatea referinței, dar nu și a obiectului.