როგორ უნდა შემოწმდეს კოდში null მნიშვნელობები?
sobes.tech AI
პასუხი AI-სგან
Kotlin-ში nullable ტიპებთან მუშაობისა და null-ის შემოწმებისთვის გამოიყენება შემდეგი მიდგომები:
-
უსაფრთხო გამოძახების ოპერატორი (
?.): საშუალებას აძლევს მეთოდების გამოძახებას ან თვისებების წვდომას ობიექტზე მხოლოდ იმ შემთხვევაში, თუ ობიექტი არ არისnull. თუ ობიექტიnull-ია, მთელი გამოძახება აბრუნებსnull-ს. -
Elvis ოპერატორი (
?:): საშუალებას აძლევს დეფოლტ მნიშვნელობის მიწოდებას, თუ გამოხატულება მარცხნივ ოპერატორისnull-ია. -
უსაფრთხო გამოძახების ოპერატორი (
!!): გარდაქმნის nullable ტიპს non-nullable-ად. თუ მნიშვნელობაnull-ია, გამოიწვევსNullPointerException-ს. მისი გამოყენება ძალიან არ არის რეკომენდებული, რადგან შეიძლება გამოიწვიოს პროგრამის ჩამოქცევა. -
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-ია
}