Sobes.tech
Back to questions
Junior — Middle
81

Объясните концепцию безопасной работы с null в языке Kotlin и как она реализована

Companies where asked
IBS

Answer from AI

sobes.tech AI

В Kotlin концепция безопасной работы с null реализована через систему типов с поддержкой nullable и non-nullable типов.

  • По умолчанию переменные не могут содержать null. Например, var a: String = "text" не может быть null.
  • Чтобы разрешить null, тип объявляется с ?, например, var b: String? = null.

Для работы с nullable типами Kotlin предоставляет:

  • Оператор безопасного вызова ?. — позволяет вызвать метод или получить свойство, если объект не null, иначе возвращает null.
  • Оператор Элвиса ?: — задает значение по умолчанию, если выражение слева null.
  • Оператор not-null assertion !! — принудительно преобразует nullable тип в non-nullable, выбрасывая исключение, если значение null.

Пример:

val name: String? = null
println(name?.length) // Выведет null, не вызовет ошибку
println(name?.length ?: 0) // Выведет 0
println(name!!.length) // Бросит NullPointerException

Таким образом, Kotlin помогает избежать классических ошибок с null на этапе компиляции, делая код более надежным.