Junior — Middle
Обяснете концепцията за безопасна работа с null в Kotlin и как е реализирана.
sobes.tech AI
Отговор от AI
В Kotlin концепцията за безопасна работа с null е реализирана чрез система от типове, която поддържа nullable и non-nullable типове.
- По подразбиране променливите не могат да съдържат
null. Например,var a: String = "текст"не може да бъдеnull. - За да разрешите
null, типът се обявява с?, например,var b: String? = null.
За работа с nullable типове Kotlin предоставя:
- Оператор за безопасно извикване
?.— позволява да се извика метод или да се получи свойство, ако обектът не еnull, иначе връщаnull. - Оператор Елвис
?:— задава стойност по подразбиране, ако изразът отляво е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 по време на компилация, правейки кода по-надежден.