НовоеAI-конструктор резюме: правишь прямо на листе A4, а нейросеть подсказывает, что усилитьКонструктор резюме на листе A4Попробовать
JobPath
Начать бесплатно

QAJuniorТехнический

Что такое nullable типы в Kotlin и как с ними работать

Встречался на собеседовании

  • ЛИПТ Софт

Ответ

Что хотят услышать интервьюеры

Интервьюеры ожидают, что кандидат продемонстрирует понимание концепции nullable типов в Kotlin, объяснит их назначение и преимущества, а также приведет примеры использования и обработки таких типов, включая безопасные операции и обработку исключений. Кандидат должен продемонстрировать знание best practices при работе с nullable типами.

Что такое nullable типы в Kotlin

Nullable типы — это типы, которые могут принимать значение null. Они помогают избежать NullPointerException, обеспечивая более безопасное обращение с объектами, которые могут не иметь значения. В Kotlin, чтобы указать, что переменная может быть null, необходимо использовать знак вопроса (?) после типа.

Пример работы с nullable типами

fun main() {
    // Объявление переменной, которая может быть null
    var name: String? = null

    // Присваиваем значение переменной
    name = "Alice"

    // Безопасный вызов (safe call) с использованием ?. для предотвращения исключений
    println(name?.length) // Вывод: 5, если name не null

    // Проверка на null с использованием let
    name?.let {
        println("Имя: $it") // Вывод: Имя: Alice
    }

    // Использование оператора Элвиса (?:) для задания значения по умолчанию
    val length = name?.length ?: 0
    println("Длина имени: $length") // Вывод: Длина имени: 5
    
    // Пример с исключением, если name равен null
    // println(name!!.length) // Вызывает исключение NullPointerException, если name == null
}

Ключевые моменты:

  1. Объявление: Для создания nullable типа добавьте ? к типу переменной.
  2. Безопасный вызов: Используйте ?. для доступа к свойствам, если объект может быть null.
  3. let: Применяйте let для выполнения блока кода только если переменная не null.
  4. Оператор Элвиса: Используйте ?: для задания значения по умолчанию в случае, если переменная null.
  5. !! оператор: Используйте с осторожностью для явного указания, что объект не должен быть null.

Что могут спросить дальше

  • Показать больше примеров обработки null
  • Объяснить, как избежать NullPointerException
  • Обсудить best practices при работе с nullable типами
  • Рассказать о различиях между nullable и non-nullable типами
Ответ помог?
Тренироваться бесплатно

Связаться с поддержкой

Выбери, где удобнее написать