Что такое const val

«Что такое const val» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

const val — это ключевое слово в Kotlin для объявления констант времени компиляции.

Особенности:

  • Значение должно быть известно на этапе компиляции (примитивы или String).
  • Объявляется только на верхнем уровне (вне классов) или внутри object/companion object.
  • Доступна без создания экземпляра класса.

Пример:

const val API_KEY = "12345-ABCDE"

object Config {
    const val TIMEOUT = 5000
}

// Использование:
val key = API_KEY
val timeout = Config.TIMEOUT

Отличие от val:

  • val — runtime-константа (значение может вычисляться при выполнении).
  • const val — заменяется на значение прямо в байт-коде (оптимизация).