Sobes.tech
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 по време на компилация, правейки кода по-надежден.