Можно ли присвоить значение null переменной примитивного типа в Java?

«Можно ли присвоить значение null переменной примитивного типа в Java?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, нельзя.

Примитивные типы в Java (int, long, double, boolean, char, byte, short, float) не являются объектами и не могут иметь значение null. Они всегда содержат значение по умолчанию (например, 0 для числовых типов, false для boolean).

Попытка присвоения приведет к ошибке компиляции:

int number = null; // Ошибка компиляции: incompatible types

Если требуется возможность отсутствия значения, используйте классы-обертки (Integer, Long, Double и т.д.), которые являются объектами и могут быть null.

Integer nullableNumber = null; // Допустимо