Sobes.tech
Назад к вопросам
Junior — Middle
68

Как различаются объявление неизменяемых переменных с помощью ключевых слов val и const val в Kotlin?

Компании, где спрашивали
RedLab

Ответ от нейросети

sobes.tech AI

В Kotlin ключевое слово val используется для объявления неизменяемой переменной, значение которой присваивается во время выполнения и не может быть изменено после инициализации. Такие переменные могут быть локальными или свойствами класса.

const val — это константа времени компиляции. Она должна быть объявлена на уровне объекта, класса или файла, и её значение должно быть известно на этапе компиляции (например, литералы или выражения, вычисляемые на этапе компиляции). const val нельзя использовать внутри функций.

Пример:

val runtimeValue = System.currentTimeMillis() // значение известно только во время выполнения
const val compileTimeValue = 100 // значение известно на этапе компиляции

Итого:

  • val — неизменяемая переменная, значение которой задаётся во время выполнения.
  • const val — неизменяемая константа, значение которой известно на этапе компиляции и используется для оптимизации и константных выражений.