Sobes.tech
Junior — Middle

Оё арзиши навъи val пас аз эълон кардан тағйирнопазир аст?

sobes.tech AI

Ҷавоб аз AI

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

Масалан:

val list = mutableListOf(1, 2, 3)
list.add(4) // Бу мумкин, рўйхатнинг мазмуни ўзгаради

// list = mutableListOf(5, 6) // Хатолик: `val` қайта тайинлаш мумкин эмас

Шунинг учун, val ҳаволанинг ўзгартирилмаслигини кафолатлайди, аммо объектнинг ўзгартирилмаслигини эмас.