2015-10-09 5 views
0

Когда мы используем System.out.println(null), то мы получим ошибку компиляции и для решения этой проблемы мы типаж null как:Приведение нуля в Java

System.out.println((String)null) 

, а затем он начинает работать нормально.

Мои вопросы в том, как нам разрешено приведение типов null, когда мы говорим, что null - это то, что не указывает на какое-либо местоположение и, следовательно, само по себе не имеет ценности.

Также, если null не указывает на какое-либо место, то объект, который является нулевым, получит сбор мусора, то почему мы его используем на первом месте? Я знаю, что это немного из-за темы, но это пришло мне в голову.

Я видел несколько ответов в ссылке ниже, но они в основном говорят о функции и реализации метода println, но я хочу знать только о null.

No Exception while type casting with a null in java

+0

Почему мы используем 'null' в первую очередь? Потому что мы допустили ошибку в миллиард долларов, чтобы избежать необходимости явно обрабатывать отсутствующие или необязательные значения в системе типов. – Thilo

+0

"Объект, который является нулевым, получит собранный мусор" Нет никакого объекта вообще. – Thilo

+0

Да, он получит сбор мусора. Таким образом, мы используем null в основном для JVM, который теперь может быть собран с помощью мусора? – AalekhG

ответ

1

В Java, "нулевой" является специальным буквальным нулевого типа. Он может быть применен к любому ссылочному типу, но не к примитивному типу, такому как int или boolean. Нулевой литерал необязательно имеет значение 0. И невозможно применить к типу null или объявить переменную этого типа. Вот почему это не вызывает ошибку, вы также можете сделать это null == null

Смежные вопросы