Sobes.tech
Junior — Middle

Таврҳои калидии const val ва val дар Kotlin чӣ фарқ доранд?

sobes.tech AI

Ҷавоб аз AI

Дар Kotlin калидсўзи val нишон медиҳад, ки ўзгартирилмайдиган ўзгарувчи (фақат ўқиш учун), унинг қиймати бир марта инициализацияда белгиланиши мумкин, аммо қиймати ўзгартирилиши мумкин бўлган вақтда ҳисобланади.

const val — бу компиляция вақтидаги константа бўлиб, у примитив тур ёки сатр бўлиши керак ва компиляция вақтида маълум бўлган қиймат билан инициализация қилиниши керак. Бундай константалар, масалан, аннотацияларда ёки константларни талаб қилувчи параметрларда ишлатилиши мумкин.

Асосий фарқлар:

  • const val доимий равишда статик константа бўлиб, класс даражасида мавжуд (фақат объектларда ёки юқори даражада).
  • val оддий ўзгартирилмайдиган хусусият бўлиб, динамик равишда ҳисобланиши мумкин.

misol:

const val MAX_COUNT = 10 // компиляция вақтидаги константа
val currentTime = System.currentTimeMillis() // ишга туширилганда ҳисобланган қиймат