class Why
{
public static void main(String[]s)
{
String st2="A";
System.out.println(st2);
// String st4="MN3444\u000ar4t4";
System.out.println(st4);
}
}
Run Code Online (Sandbox Code Playgroud)
请编译上面的代码,我在评论行中收到错误.
我无法理解编译器的这种行为,这个错误是什么意思?
在编译之前,每个Unicode字符都被其值替换,因此\u000a代表新的行代码
// String st4="MN3444\u000ar4t4";
Run Code Online (Sandbox Code Playgroud)
与此代码相同(注意后面的文本\u000a将被移动到新行,这意味着它将不再是注释的一部分)
// String st4="MN3444
r4t4";
Run Code Online (Sandbox Code Playgroud)
你可以测试一下
//\u000a;System.out.println("hello comment");
Run Code Online (Sandbox Code Playgroud)
等于
//
System.out.println("hello comment");
Run Code Online (Sandbox Code Playgroud)
并将作为结果输出: hello comment