Junior — Middle
Какви са разликите между ключовите думи const val и val в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin ключовата дума val обозначава неизменяема променлива (само за четене), чиято стойност може да бъде присвоена веднъж при инициализация, но самата стойност може да бъде изчислена по време на изпълнение.
const val е константа в време на компилация, която трябва да бъде от примитивен тип или низ и да бъде инициализирана със стойност, известна по време на компилация. Тези константи могат да се използват, например, в анотации или като параметри, изискващи константи.
Основни разлики:
const valвинаги е статична константа, достъпна на ниво клас (само в обекти или на върха).valе обикновено неизменяема собственост, която може да бъде изчислена динамично.
Пример:
const val MAX_COUNT = 10 // константа в време на компилация
val currentTime = System.currentTimeMillis() // стойност, изчислена по време на изпълнение