我在Java语言规范中阅读了以下短语。
单个字符后面的字符是编译时错误 EscapeSequence不是'。'
我无法理解上述行的含义。有人可以用例子解释一下。
答案 0 :(得分:4)
基本上说的是:将为“'
之后的每个字符生成编译时错误,该字符位于”字符“本身之后。其中“字符”是字符形式的内容(例如:a
,0
,\u0093
)或转义序列(如:\\
,{{ 1}},\b
)。
所以,这是错误的:
\n
,因为第二个'aa'
不是单引号(a
)。'
,因为第二个字符('\\a'
)不是单引号。a
,因为“内容”之后的字符不是引号(但可能是换行符或空格)。 旁注:这也不起作用:'a
。因为这是单引号的代码点,所以它被翻译成:char c = '\u0027';
。
答案 1 :(得分:3)
我猜这是关于字符文字的。另一种说法是:字符文字必须用撇号括起来,如果你忘记了第二个撇号,那就错了。
因此:
'a' // correct
'\007' // correct
'ab // wrong
答案 2 :(得分:0)
在Java中,您可以将字符变量定义为转义序列或单个字符。这些应该用单引号括起来。
char ch = 'a';
// Unicode for uppercase Greek omega character
char uniChar = '\u039A';
更多信息和示例可以在Characters上的Java教程中找到。