Что такое null в программировании?

«Что такое null в программировании?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Null — это специальное значение, указывающее на отсутствие объекта или значимого значения. Оно представляет намеренное «ничего» или неинициализированное состояние.

Пример в Java:

String name = null; // Переменная не ссылается на объект
if (name == null) {
    System.out.println("Значение не задано");
}

Ключевые аспекты:

  • Цель: Обозначить отсутствие значения (например, не найденная запись в БД).
  • Риски: Работа с null-ссылкой может вызывать ошибки времени выполнения, такие как NullPointerException.
  • Best Practices:
    • Явно проверяйте переменные на null перед использованием.
    • Используйте паттерны вроде Optional (Java) или nullable-типы (Kotlin/Swift) для безопасной работы.
    • По возможности проектируйте API так, чтобы возвращать пустые коллекции вместо null.

Альтернативы в современных языках: Kotlin, Swift и Rust используют системы типов, которые явно разделяют nullable и non-nullable ссылки, что предотвращает многие ошибки на этапе компиляции.