字符的默认值是什么?

2022-08-31 10:15:08
char c = '\u0000';

当我打印时,它在命令行窗口中显示“a”。c

那么类型字段的默认值是什么?char

有人说在Unicode中意味着空;是吗?'\u0000'


答案 1

属性的默认值确实是(空字符),如 Java 语言规范 §4.12.5 变量的初始值节中所述。char'\u0000'

在我的系统中,线条打印一个小正方形,这意味着它不是可打印的字符 - 正如预期的那样。System.out.println('\u0000');


答案 2

“\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


推荐