Sobes.tech
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-თან დაკავშირებული კლასიკური შეცდომების თავიდან აცილებაში, რაც კოდს უფრო საიმედოს ხდის.