мне нужно выполнить некоторую задачу, проверив, имеет ли char нулевое значение и имеет ли char значение null '\ u0000, но не знаю, что компилятор java обрабатывает оба как одно и то же, вот пример кода
char nullTest = 0;
System.out.println(nullTest == '\u0000'); //it is giving true
если я инициализирую его как nullTest = '0'
, то он дает false, но в моей программе я часто присваиваю числа и null '\u0000'
этой переменной, из-за чего она дает ошибки времени выполнения,
if i initialize it as nullTest = '0' then it is giving false
. Потому что'0'
не0
. Он имеет какой-то (Unicode?) код, который отличается от0
. С другой стороны,'\u0000'
по определению является символом с кодом0
. Я понятия не имею, почему вы называете этоnull
. - person   schedule 18.04.2019\u0000
задает символ с шестнадцатеричным значением0000
. Это определение этого синтаксиса. См. Спецификацию языка Java 3.2. Лексические переводы: Экран-код Unicode в форме\uxxxx
, гдеxxxx
– шестнадцатеричное значение, представляет собой кодовую единицу UTF-16 с кодировкойxxxx
. - person Andreas   schedule 18.04.2019char
, либо ее коду ASCII или Unicode.char c = 51;
иchar c = '3';
присваивают одинаковое значение переменнойc
. - person Ivan   schedule 18.04.2019