为什么不能在Java中将\ u000D和\ u000A用作CR和LF?
为什么在Java中不能将\ u000D和\ u000A用作CR和LF?编译代码时出现错误:
String x = "\u000A hello";//Error - Illegal escape character in string literal.
回答:
在运行编译器之前,会对Unicode转义进行预处理。因此,如果您\u000A
输入这样的String文字:
String someString = "foo\u000Abar";
它将完全像您编写的那样进行编译:
String someString = "foobar";
坚持\r
(回车;0x0D
)和\n
(换行;0x0A
)
您总是可以从中获得乐趣,特别是考虑到大多数语法突出显示工具的局限性。下次,请尝试运行以下代码:
public class FalseIsTrue { public static void main(String[] args) {
if ( false == true ) { //these characters are magic: \u000a\u007d\u007b
System.out.println("false is true!");
}
}
}
以上是 为什么不能在Java中将\ u000D和\ u000A用作CR和LF? 的全部内容, 来源链接: utcz.com/qa/404089.html