char 的默认值是什么?

106
char c = '\u0000';

当我打印c时,命令行窗口中会显示'a'。

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

有人说'\u0000'在Unicode中表示null,这是正确的吗?


2
你可以通过以下方式检查你的字符是否具有默认值:char == 0 - ACV
14个回答

-1

我认为应该用'\u00000'或者'',而不是'\u0000'。(第一个有五个零,而最后一个只有四个零。)


@JohannesH. - 这对我来说看起来像是一个答案。在我看来,将其标记为“不是答案”是不正确的。 - Krease
你尝试过 char c = ''; 吗?我预计你会得到一个 error: empty character literal。另外,5个零 '\u00000' 会让你得到一个 error: unclosed character literal - Scratte

-1

char 的默认值为 null,即根据 Unicode chart,其值为 '\u0000'。让我们看看在打印输出时它是如何工作的。

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();   
    } }

注意:输出为空。

-1

char 的默认值为 \u0000

public class DefaultValues {
char varChar;
public static void main(String...l)
 {
    DefaultValues ob =new DefaultValues();
    System.out.println(ob.varChar=='\u0000');
 }  
}

这将返回true


-2

Java语言规范中指定char原始类型的默认值为'\u0000'(空字符)。

'u0000'的快捷方式是'\0',因此null可以用'u0000'或'\0'表示。

下面的Java程序使用实例char字段'c'验证null表示:

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);
    }

}

output:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接