Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: null safety, safe calls, elvis operator, safe casts, assertion

Как обрабатывать nullable значения в Kotlin?

Этот вопрос проверяет знание способов безопасной работы с нулевыми значениями в Kotlin и методы предотвращения исключений, связанных с null.

Короткий ответ

В Kotlin для работы с nullable типами данных можно использовать несколько методов:

  • Safe calls (?.): безопасный доступ к свойствам и методам объекта, если объект равен null.

  • Elvis operator (?:): позволяет задать значение по умолчанию, если объект равен null.

  • Safe casts (as?): безопасное приведение типов, которое возвращает null, если приведение невозможно.

  • Non-null assertion (!!): если вы уверены, что переменная не равна null, используйте оператор !!, но будьте осторожны, потому что это может вызвать исключение NullPointerException.

Длинный ответ

В Kotlin нулевые значения обрабатываются с помощью нескольких техник, обеспечивающих безопасность работы с nullable типами данных:

Safe Calls (?.)

Оператор ?. позволяет безопасно обращаться к свойствам или методам объекта, который может быть равен null. Если объект равен null, то выражение возвращает null, а не вызывает исключение.

Пример:

val length: Int? = text?.length // Если text равен null, то length также будет равен null

Elvis Operator (?:)

Оператор ?: используется для задания значения по умолчанию, если объект равен null. Он позволяет избежать NullPointerException, подставляя значение, если объект оказался null.

Пример:

val length: Int = text?.length ?: 0 // Если text равен null, будет возвращено значение 0

Safe Casts (as?)

Оператор as? применяется для безопасного приведения типа. Если приведение не удается, результатом будет null, и исключение не будет выброшено.

Пример:

val name: String? = value as? String // Если value не строка, то name будет null

Non-null Assertion (!!)

Оператор !! используется, когда вы уверены, что переменная не может быть null в данный момент. Однако, если переменная всё же равна null, это приведет к выбросу NullPointerException.

Пример:

val length: Int = text!!.length // Ошибка, если text равен null

Рекомендуется использовать безопасные вызовы и Elvis оператор для предотвращения ошибок, связанных с null. Оператор !! следует использовать только в тех случаях, когда вы абсолютно уверены в том, что объект не может быть null.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#null safety

#safe calls

#elvis operator

#safe casts

#assertion

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.