@foonfyrick

Val vs const val, я знаю что у const val нет геттера, а какие еще отличия?

Ну нету геттера у const val, это сильно критично чтобы не использовать val как константу? Насколько сильно плохо использовать val как константу?
  • Вопрос задан
  • 1083 просмотра
Решения вопроса 1
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
const - это константы времени компиляции.
После компиляции они исчезают(в байткоде их нет) и подставляются на место использования. Это позволяет, например, использовать их в аннотациях.
Также const вычисляется во время компиляции.

Если написать так:
const val SUM = 1 + 2
someFunctionCall(SUM)

После компиляции получится(условно) так:
someFunctionCall(3)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
const val - это константа времени компиляции. Её значение будет единым для всех
val - неизменяемое свойство (не имеет сеттера). Ну и тк это свойство - оно привязано к конкретному экземпляру.
https://kotlinlang.ru/docs/reference/properties.html
const val и val- это два разных инструмнета для разных задач.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы