char的默认值是多少?

新手上路,请多包涵
char c = '\u0000';

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

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

有人说 '\u0000' 在Unicode中表示null;那正确吗?

原文由 user1298336 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

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

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

原文由 Óscar López 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 Chandra Sekhar 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题