Junior — Middle
Тавзеҳ диҳед дар бораи консепсияи кор бо null дар забони Kotlin ва чӣ гуна амалӣ карда мешавад.
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin, концепсияи бехатарии кор бо null тавассути системаи намудҳо амалӣ мешавад, ки намудҳои nullable ва non-nullable-ро дастгирӣ мекунад.
- Ба таври пешфарз, тағйирёбандаҳо наметавонанд
nullдошта бошанд. Масалан,var a: String = "матн"наметавонадnullбошад. - Барои иҷозат додан ба
null, намуд бо?эълон мешавад, масалан,var b: String? = null.
Барои кор бо намудҳои nullable, Kotlin пешниҳод мекунад:
- Оператори бехатарии даъват
?.— имкон медиҳад, ки як метод даъват шавад ё ба хусусият дастрасӣ пайдо шавад, агар объектnullнабошад, дар ғайри ҳолnullбармегардонад. - Оператори Элвис
?:— арзиши пешфарзро муайян мекунад, агар изрази чапnullбошад. - Оператори тасдиқи бен-null
!!— маҷбур мекунад, ки намуди nullable ба non-nullable табдил ёд, ва агар арзишnullбошад, истисно меандозад.
Масалан:
val name: String? = null
println(name?.length) // Натиҷа null, хато намеорад
println(name?.length ?: 0) // Натиҷа 0
println(name!!.length) // NullPointerException меандозад
Бо ин роҳ, Kotlin кӯмак мекунад, ки хатогиҳои классикӣ бо null дар марҳилаи компилятсия пешгирӣ шаванд, ва код боэътимодтар гардад.