Что такое неинициализированная ссылочная переменная, когда она не равна нулю - PullRequest
3 голосов
/ 14 ноября 2011

В Java локальные ссылочные переменные не имеют значения по умолчанию, равного null, до их инициализации. В чем разница между переменной со значением null и переменной без значения?

Ответы [ 2 ]

3 голосов
/ 14 ноября 2011

Неинициализированная ссылка не имеет значения, она имеет неопределенное значение (и компилятор запрещает вам их использовать, IIRC). Ссылка, инициализированная null, приведет к сравнению на равенство с null, всегда оцениваемым как true.

2 голосов
/ 14 ноября 2011

В менее строгом языке переменная, которая не была каким-либо образом инициализирована, может содержать случайные данные.

В Java на неинициализированную переменную нельзя ссылаться. Это обеспечивается как компилятором, так и верификатором байт-кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...