char c = '\u0000';
当我打印c
时,命令行窗口中会显示'a'。
那么char
类型字段的默认值是什么?
有人说'\u0000'
在Unicode中表示null,这是正确的吗?
我认为应该用'\u00000'
或者''
,而不是'\u0000'
。(第一个有五个零,而最后一个只有四个零。)
char c = '';
吗?我预计你会得到一个 error: empty character literal
。另外,5个零 '\u00000'
会让你得到一个 error: unclosed character literal
。 - Scrattechar 的默认值为 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();
} }
char
的默认值为 \u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
这将返回true
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);
}
}
char == 0
。 - ACV