我必须通过检查char是否具有零值以及char是否具有null'\ u0000值来执行某些任务,但不知道Java编译器将两者视为相同 这是示例代码
char nullTest = 0;
System.out.println(nullTest == '\u0000'); //it is giving true
如果我将其初始化为nullTest = '0'
,那么它给出的是false,但是在我的程序中,我经常给此变量分配数字和null '\u0000'
,由于它会导致运行时错误,
答案 0 :(得分:0)
符号\ uXXXX主要仅出现在.java和.properties文件中。在此处将其作为 Unicode代码点读取。 Unicode文本(使用各种特殊字符)通常使用UTF-8格式(尽管有时也使用UTF16LE和UTF16BE)。
因此,如果您使用char nullTest = 0;
在Java中初始化字符而不给出单引号,则在内部将其视为nullTest = unicode of 0
的{{1}},但是如果您使用诸如{{ 1}}被视为字符串的字符,并存储为“ 0”