Ответ
Ссылочные типы данных в Java по умолчанию инициализируются значением null. Это означает, что переменная не ссылается ни на какой объект в куче.
Пример объявления:
String str; // str == null
Object obj; // obj == null
MyClass instance; // instance == null
Ключевые нюансы:
NullPointerException: попытка вызвать метод или обратиться к полю черезnull-ссылку вызовет это исключение.null≠ пустая коллекция/массив:nullозначает отсутствие объекта, тогда как пустой массивnew int[0]или коллекцияnew ArrayList<>()— это валидные объекты.- Примитивные типы (int, boolean, char и т.д.) не могут быть
null; они имеют свои значения по умолчанию (0, false, 'u0000').
Ответ 18+ 🔞
А, ну вот, классика жанра подъехала! Ссылочные типы в Java, блядь. Представь себе: объявляешь переменную, а она тебе сразу — ничего. Вообще нихуя. Это и есть null, ёпта.
Типа вот так:
String str; // str == null
Object obj; // obj == null
MyClass instance; // instance == null
Объявил, а там пустота, вакуум, блядь. Объекта-то ещё нет, ссылка болтается в воздухе, как хуй в проруби.
И вот тут начинается самое весёлое, ебать мои старые костыли!
Нюансы, от которых мозг сворачивается в трубочку:
-
NullPointerException— король всех исключений. Это когда ты, такой довольный, пытаешься через эту пустую ссылку что-то сделать:str.length()илиinstance.doMagic(). А тебе Java: «Э, сабака, сука! На что ссылаешься? На хуйню? На пустоту? Получай NPE в ебало!» И программа твоя накрывается медным тазом. Пиздец. -
null— это не пустая коллекция, ёбта! Это важно, как дважды два.null— это ваще ничего, отсутствие объекта. А вотnew ArrayList<>()— это уже объект, просто пустой. Разница, блядь, как между «у меня нет машины» (null) и «у меня есть машина, но она в гараже и пустая» (new ArrayList<>()). В первом случае ты пешком, а во втором — сел, ключ повернул, и поехал, хоть и один. Чувствуешь разницу, хитрая жопа? -
Примитивы — они суровые и честные.
int,boolean,char— эти ребятаnullне бывают в принципе. Им похуй, они сразу с дефолтными значениями: нолик, фолс, нулевой символ. С ними проще, но и скучнее, блядь.
Вот и вся философия. Ссылка — она может быть пустой. И с этой пустотой надо жить, постоянно оглядываясь, чтобы не наступить на грабли NPE. Волнение ебать, терпения ноль ебать.