System.out.println("\1");
我认为它没有编译成功,是因为出现了未被识别的转义序列。
"\1"
到底代表什么意思?
System.out.println("\1");
我认为它没有编译成功,是因为出现了未被识别的转义序列。
"\1"
到底代表什么意思?
这是一个八进制转义序列,如JLS第3.10.6节中所列。例如:
String x = "\16";
等同于:
String x = "\u000E";
(作为八进制16 = 十六进制 E.)
所以\1
代表U+0001,“标题开始”字符。
以我的经验,Java很少使用八进制转义序列,我个人尽可能避免使用它们。当我想要使用数字转义序列指定字符时,我总是使用\uxxxx
。
\u0001
// This \n is okay
的注释是可以的,但是// This \u000a is not
就无法编译。 - Jon Skeet\\1
,这可能会非常令人烦恼。 - Eric Jablow