Junior — Middle
Quali sono le differenze tra le parole chiave const val e val in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, la parola chiave val indica una variabile immutabile (solo lettura), il cui valore può essere assegnato una sola volta durante l'inizializzazione, ma il valore stesso può essere calcolato durante l'esecuzione.
const val è una costante a tempo di compilazione, che deve essere di tipo primitivo o stringa e deve essere inizializzata con un valore noto al momento della compilazione. Tali costanti possono essere usate, ad esempio, nelle annotazioni o come parametri che richiedono costanti.
Principali differenze:
const valè sempre una costante statica, accessibile a livello di classe (solo in oggetti o a livello superiore).valè una proprietà immutabile normale, che può essere calcolata dinamicamente.
Esempio:
const val MAX_COUNT = 10 // costante a tempo di compilazione
val currentTime = System.currentTimeMillis() // valore calcolato durante l'esecuzione