Sobes.tech
Junior — Middle

Անհատական արժեքը `val` տիպի՝ անփոփոխ է իր հայտարարելուց հետո՞

sobes.tech AI

Պատասխան AI-ից

Kotlin-ում val բանալի բառը նշանակում է անփոփոխ հղում, այսինքն, val-ով հայտարարված փոփոխականին արժեք նշանակելուց հետո, այդ հղումը այլ օբյեկտի վրա փոխել հնարավոր չէ։ Սակայն, դա չի նշանակում, որ val-ով հղված օբյեկտը անփոփոխ է։ Եթե օբյեկտը փոփոխական է (օրինակ, MutableList), նրա ներքին վիճակը կարող է փոխվել, չնայած val հղումը չի փոխվի։

Օրինակ՝

val list = mutableListOf(1, 2, 3)
list.add(4) // Սա թույլատրվում է, ցուցակի պարունակությունը փոխվում է

// list = mutableListOf(5, 6) // Խախտում՝ չի կարելի նորից նշանակել `val`

Այսպիսով, val երաշխավորում է հղման անփոփոխությունը, բայց ոչ օբյեկտի։