Sobes.tech
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() // стойност, изчислена по време на изпълнение