Sobes.tech
Junior

როგორ უნდა შემოწმდეს კოდში null მნიშვნელობები?

sobes.tech AI

პასუხი AI-სგან

Kotlin-ში nullable ტიპებთან მუშაობისა და null-ის შემოწმებისთვის გამოიყენება შემდეგი მიდგომები:

  1. უსაფრთხო გამოძახების ოპერატორი (?.): საშუალებას აძლევს მეთოდების გამოძახებას ან თვისებების წვდომას ობიექტზე მხოლოდ იმ შემთხვევაში, თუ ობიექტი არ არის null. თუ ობიექტი null-ია, მთელი გამოძახება აბრუნებს null-ს.

  2. Elvis ოპერატორი (?:): საშუალებას აძლევს დეფოლტ მნიშვნელობის მიწოდებას, თუ გამოხატულება მარცხნივ ოპერატორის null-ია.

  3. უსაფრთხო გამოძახების ოპერატორი (!!): გარდაქმნის nullable ტიპს non-nullable-ად. თუ მნიშვნელობა null-ია, გამოიწვევს NullPointerException-ს. მისი გამოყენება ძალიან არ არის რეკომენდებული, რადგან შეიძლება გამოიწვიოს პროგრამის ჩამოქცევა.

  4. if ბლოკი null-ის შემოწმებით: ტრადიციული მეთოდი, ხშირად გამოიყენება Kotlin-ის smart cast-ებთან ერთად.

// უსაფრთხო გამოძახების ოპერატორი ?.
val length = text?.length

// `null`-ის შემოწმების შემდეგ smart cast
if (text != null) {
    val length = text.length // text ავტომატურად გარდაიქმნება String-ად (non-nullable)
}

// Elvis ოპერატორი ?:
val nonNullText = text ?: "ნაგულისხმევი ტექსტი"

// უსაფრთხო არამშვენიერი გამოძახების ოპერატორი !! (გამოიყენეთ მაქსიმალურად)
val forceLength = text!!.length // შეიძლება გამოიწვიოს NullPointerException

Java-ში null-ის შემოწმება ხორციელდება მხოლოდ if პირობითი ოპერატორებით:

// Java
if (text != null) {
    int length = text.length();
} else {
    // შემთხვევის დამუშავება, როდესაც text null-ია
}