Junior — Middle
გთხოვთ ახსნათ Kotlin ენის null-ის უსაფრთხო მუშაობის კონცეფცია და როგორ არის ის განხორციელებული.
sobes.tech AI
პასუხი AI-სგან
Kotlin-შე, null-თან უსაფრთხო მუშაობის კონცეფცია განხორციელებულია ტიპების სისტემის მეშვეობით, რომელიც მხარს უჭერს nullable და non-nullable ტიპებს.
- დეფოლტად, ცვლადები არ შეიძლება შეიცავდნენ
null-ს. მაგალითად,var a: String = "ტექსტი"არ შეიძლება იყოსnull. null-ის დაშვებისათვის, ტიპი გამოაცხადება?-ით, მაგალითად,var b: String? = null.
Nullable ტიპებთან მუშაობისთვის Kotlin-ი უზრუნველყოფს:
- უსაფრთხო გამოძახების ოპერატორი
?.— საშუალებას აძლევს მეთოდის გამოძახებას ან თვისების მიღებას, თუ ობიექტი არ არისnull, წინააღმდეგ შემთხვევაში აბრუნებსnull-ს. - Elvis ოპერატორი
?:— ადგენს საწყის მნიშვნელობას, თუ გამოხატულება მარცხნივ არის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-თან დაკავშირებული კლასიკური შეცდომების თავიდან აცილებაში, რაც კოდს უფრო საიმედოს ხდის.