Junior — Middle
Jakie są różnice między słowami kluczowymi const val i val w Kotlin?
sobes.tech AI
Odpowiedź od AI
W Kotlinie słowo kluczowe val oznacza niezmienną zmienną (tylko do odczytu), której wartość można przypisać raz podczas inicjalizacji, ale sama wartość może być obliczana podczas wykonywania.
const val to stała czasu kompilacji, która musi być typu prymitywnego lub łańcucha i musi być inicjalizowana wartością znaną na etapie kompilacji. Takie stałe można używać na przykład w adnotacjach lub jako parametry wymagające stałych.
Główne różnice:
const valjest zawsze stałą statyczną, dostępną na poziomie klasy (tylko w obiektach lub na poziomie górnym).valto zwykła niezmienna właściwość, którą można obliczać dynamicznie.
Przykład:
const val MAX_COUNT = 10 // stała czasu kompilacji
val currentTime = System.currentTimeMillis() // wartość obliczana podczas wykonywania