char c = '\u0000';
Когда я печатаю c, он показывает "a" в окне командной строки.
Итак, какое значение по умолчанию для поля типа char?
Кто-то сказал, что '\ u0000' означает null в unicode; это правильно?
char c = '\u0000';
Когда я печатаю c, он показывает "a" в окне командной строки.
Итак, какое значение по умолчанию для поля типа char?
Кто-то сказал, что '\ u0000' означает null в unicode; это правильно?
Значение по умолчанию для атрибута char
действительно '\u0000'
(нулевой символ), как указано в Спецификации языка Java, раздел §4.12.5 Начальные значения переменных.
В моей системе строка System.out.println('\u0000');
печатает маленький квадрат, что означает, что это не печатный символ - как и ожидалось.
'\ 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);
}
}
Этот код напечатает true для последней печати.
'\u0000'
означает null
. Поэтому, если вы напечатаете неинициализированную переменную char, вы ничего не получите.
Это '\ u0000'. Подробнее см. .
Значение по умолчанию символа Символ .MIN_VALUE, который представлен внутри MIN_VALUE = '\u0000'
Кроме того, вы можете проверить, содержит ли поле символов значение по умолчанию в качестве
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
Значение по умолчанию для типа данных char: '\ u0000' (или 0) и максимальное значение '\ uffff' (или 65 535 включительно).
Здесь вы можете увидеть информацию .
\u0000
- значение по умолчанию для типа char в Java
Как уже упоминалось, вы можете использовать сравнение, чтобы проверить значение неинициализированной переменной.
char ch;
if(ch==0)
System.out.println("Default value is the null character");
По умолчанию char - символ с значением int 0 (ноль).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
его соблазн сказать как пробел или целое число 0 согласно доказательству ниже
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
но я бы так не сказал, потому что это может отличаться от разных платформ или в будущем. Что мне действительно нужно, я никогда не буду использовать это значение по умолчанию, поэтому перед тем, как использовать любой char, просто проверьте, что это \u0000 или нет, а затем используйте его, чтобы избежать неправильных представлений в программах. Это так просто.
Обратите внимание, что существует отличное различие между нулем и нулем. В http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (см. Выше) утверждение сделано: -
Также имеется специальный нулевой литерал, который может использоваться как значение для любого ссылочного типа. null может быть присвоен любой переменной, кроме переменных примитивных типов. Там мало что можно сделать с нулевым значением за пределами тестирования для его присутствия. Поэтому null часто используется в программах как маркер, чтобы указать, что какой-то объект недоступен.
Вот почему следующие утверждения дадут вам ошибку, а не другую: -
char a = null;//Тип несоответствия: невозможно преобразовать из нуля в char.
char b = 0;//Действительный синтаксис.
Я думаю, что это '\u00000'
или просто ''
, а не '\u0000'
(Первый имеет 5 нулей, а последний имеет четыре нуля.)
Значение по умолчанию для char
\u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
Это вернет true
Значение по умолчанию char равно null, которое равно '\ u0000' согласно Unicode chart. Посмотрим, как это работает при распечатке.
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();
} }
Примечание: выход пуст.