Kotlin dilində null təhlükəsizliyinin nə olduğunu izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Null təhlükəsizliyi — bu Kotlin dilinin null istinadları ilə əlaqəli səhvləri qarşısını alan funksiyasıdır. Bu, iki növ istinad yaradılaraq həyata keçirilir: nullable (null-a icazə verir) və non-nullable (null-a icazə vermir).
Non-nullable növlər adətən elan edilir:
var nonNullableString: String = "Hello" // null ola bilməz
Nullable növlər isə tip adından sonra ? simvolu istifadə edilərək elan edilir:
var nullableString: String? = "Hello" // null ola bilər
nullableString = null
Kotlin nullable növlərə açıq şəkildə işləməyi tələb edir, beləliklə, null yoxlaması olmadan birbaşa üzvlərə giriş qarşısını alır. Bunun üçün aşağıdakı mexanizmlər təqdim edilir:
-
Təhlükəsiz çağırış operatoru (
?.): Ob'ektnulldeyilsə, metod çağırır və ya xüsusiyyətə müraciət edir; əks halda,nullqaytarır.val length = nullableString?.length // length `Int?` və ya `null` -
Elvis operatoru (
?:): Əgər soldakı ifadənull-sa, standart dəyər verir.val nonNullLength = nullableString?.length ?: 0 // nonNullLength `Int`, nullableString null olarsa 0 -
!!- null olmayan təsdiq operatoru: Nullable tipi non-nullable-ə çevirir. Əgər dəyərnull-sa,NullPointerExceptionatır. Bu, proqramçı dəyərinnullolmadığından əmindirsə istifadə olunur.val sureLength = nullableString!!.length // nullableString null olarsa, NullPointerException atır -
ifyoxlamaları: Ənənəvinullyoxlaması iləifistifadə edilir. Kompilyatornulltipininon-nullable-a ağıllı şəkildə çevirir (smart cast) əgər yoxlama keçərsə.if (nullableString != null) { val length = nullableString.length // Burada nullableString String kimi qəbul edilir }
Bu mexanizmlər, dəyişənin null ola biləcəyi vəziyyətləri açıq şəkildə idarə etməyə imkan verir və proqramın icrası zamanı NullPointerException ehtimalını əhəmiyyətli dərəcədə azaldır.