вы можете проверить, имеет ли ваш char значение по умолчанию:char == 0
ACV,
Ответы:
105
Значением по умолчанию для charатрибута действительно является '\u0000'(нулевой символ), как указано в Спецификации языка Java, раздел §4.12.5 Начальные значения переменных .
В моей системе линия представляет System.out.println('\u0000');собой небольшой квадрат, что означает, что это не печатаемый символ - как и ожидалось.
но я бы так не сказал, потому что он может отличаться на разных платформах или в будущем. Что меня действительно волнует, так это то, что я никогда не буду использовать это значение по умолчанию, поэтому перед использованием любого символа просто проверьте, что он равен \ u0000 или нет, а затем используйте его, чтобы избежать неправильных представлений в программах. Это так просто.
На вопрос уже есть принятый ответ и несколько других ответов. Чтобы ваш ответ был полезным, он должен добавить новую полезную информацию или новое понимание проблемы. Просто повторение информации в других ответах бесполезно.
Также существует специальный нулевой литерал, который можно использовать как значение для любого ссылочного типа. null может быть присвоен любой переменной, кроме переменных примитивных типов. Вы мало что можете сделать с нулевым значением, кроме проверки его наличия. Поэтому значение null часто используется в программах в качестве маркера, чтобы указать, что какой-то объект недоступен.
Вот почему следующие утверждения дадут вам ошибку, а не другую:
char a = null; // Несоответствие типов: невозможно преобразовать значение null в char.
char == 0
Ответы:
Значением по умолчанию для
char
атрибута действительно является'\u0000'
(нулевой символ), как указано в Спецификации языка Java, раздел §4.12.5 Начальные значения переменных .В моей системе линия представляет
System.out.println('\u0000');
собой небольшой квадрат, что означает, что это не печатаемый символ - как и ожидалось.источник
'\u0000'
это не то же самое значение, чтоnull
null character
? Некоторые ответы на эти вопросы ссылаются на значение по умолчанию как на нулевой символ.null
в терминах Java, т.е.\u0000 == null
вернетсяfalse
'\ u0000' - значение по умолчанию для символа. Его десятичный эквивалент - 0.
Когда вы объявляете некоторую переменную типа char без ее инициализации, по умолчанию ей будет присвоено '\ u0000'.
увидеть этот код
public class Test { char c; public static void main(String args[]) throws Exception { Test t = new Test(); char c1 = '\u0000'; System.out.println(t.c); System.out.println(c1); System.out.println(t.c == c1); } }
Этот код вернет истину для последней печати.
источник
Значение по умолчанию для Character - Character.MIN_VALUE, которое внутренне представлено как
MIN_VALUE = '\u0000'
Кроме того, вы можете проверить, содержит ли символьное поле значение по умолчанию как
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE); if (DEFAULT_CHAR.compareTo((Character) value) == 0) { }
источник
'\u0000'
означаетnull
. Поэтому, если вы напечатаете неинициализированную переменную типа char, вы ничего не получите.источник
Это '\ u0000'. Смотрите здесь для получения дополнительной информации .
источник
По умолчанию char - это символ со значением int 0 (ноль).
символ NULLCHAR = (символ) 0;
char NULLCHAR = '\ 0';
источник
заманчиво сказать как пробел или целое число 0 в соответствии с приведенным ниже доказательством
char c1 = '\u0000'; System.out.println("*"+c1+"*"); System.out.println((int)c1);
но я бы так не сказал, потому что он может отличаться на разных платформах или в будущем. Что меня действительно волнует, так это то, что я никогда не буду использовать это значение по умолчанию, поэтому перед использованием любого символа просто проверьте, что он равен \ u0000 или нет, а затем используйте его, чтобы избежать неправильных представлений в программах. Это так просто.
источник
Значение по умолчанию для типа данных char - '\ u0000' (или 0), а максимальное значение - '\ uffff' (или 65 535 включительно).
Вы можете увидеть информацию здесь .
источник
Обратите внимание, что существует явная разница между нулем и нулем. В http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (указанном выше) делается заявление: -
Также существует специальный нулевой литерал, который можно использовать как значение для любого ссылочного типа. null может быть присвоен любой переменной, кроме переменных примитивных типов. Вы мало что можете сделать с нулевым значением, кроме проверки его наличия. Поэтому значение null часто используется в программах в качестве маркера, чтобы указать, что какой-то объект недоступен.
Вот почему следующие утверждения дадут вам ошибку, а не другую:
char a = null; // Несоответствие типов: невозможно преобразовать значение null в char.
char b = 0; // Правильный синтаксис.
источник
\u0000
значение по умолчанию для типа char в JavaКак уже упоминалось, вы можете использовать сравнение для проверки значения неинициализированной переменной.
char ch; if(ch==0) System.out.println("Default value is the null character");
источник
Я думаю, что это так
'\u00000'
или''
скорее, чем'\u0000'
(У 1-го 5 нулей, а у последнего 4 нуля.)источник
Значение по умолчанию для
char
является \ u0000public class DefaultValues { char varChar; public static void main(String...l) { DefaultValues ob =new DefaultValues(); System.out.println(ob.varChar=='\u0000'); } }
Это вернет истину
источник
Значение по умолчанию для char - null, что соответствует «\ u0000» согласно диаграмме Unicode . Давайте посмотрим, как это работает при печати.
public class Test_Class { char c; void printAll() { System.out.println("c = " + c); } public static void main(String[] args) { Test_Class f = new Test_Class(); f.printAll(); } }
Примечание: вывод пустой.
источник
Значение по умолчанию для примитивного типа char - '\ u0000' (нулевой символ), как указано в Спецификации языка Java.
Ярлык для 'u0000' - '\ 0', поэтому нуль может быть представлен как 'u0000' или '\ 0'.
Приведенная ниже программа Java проверяет нулевые представления, используя поле экземпляра char 'c'.
public class DefaultValueForchar { char c; public static void main(String[] args) { char c0 = '\0'; char cu0000 = '\u0000'; DefaultValueForchar obj = new DefaultValueForchar(); System.out.println(obj.c); System.out.println(c0); System.out.println(cu0000); System.out.println(c0==cu0000); System.out.println(obj.c==c0); System.out.println(obj.c==cu0000); } }
источник