为什么我不能在Java中使用\ u000D和\ u000A作为CR和LF?编译代码时出错:
illegal line end in character literal
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 111
在运行编译器之前预先处理Unicode转义.因此,如果你\u000A输入这样的字符串文字:
String someString = "foo\u000Abar";
Run Code Online (Sandbox Code Playgroud)
它的编译方式与您编写的完全相同:
String someString = "foo
bar";
Run Code Online (Sandbox Code Playgroud)
坚持\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!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33168 次 |
| 最近记录: |