Junior
46
questionbank

Что произойдет, если обратиться к полю nullable объекта в Kotlin?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Если обратиться к полю nullable объекта без проверки на null, произойдет исключение NullPointerException (NPE).

Для безопасного обращения можно использовать следующие подходы:

  1. Оператор безопасного вызова (?.): Возвращает null, если объект равен null, иначе выполняет вызов.

    kotlin
  2. Оператор не-null утверждения (!!): Явно подтверждает, что объект не является null. Если он null, выбрасывается NullPointerException.

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

    kotlin
  4. Блоки if или when: Явная проверка на null.

    kotlin
  5. Функции let, run, apply, with с безопасным вызовом:

    kotlin

Выбор подхода зависит от логики программы и желаемого поведения в случае, если объект равен null. Чаще всего рекомендуется использовать оператор безопасного вызова (?.) или оператор Elvis (?:) для избежания NPE. Оператор !! следует использовать с осторожностью.