我遇到了以下代码:
public class LinePrinter {
public static void main(String args[]) {
//Note: \u000A is unicode for Line Feed
char c=0x000A;
System.out.println(c);
}
}
由于已完成 Unicode 替换,因此无法编译。
问题是,为什么注释( //
) 不覆盖编译器完成的 Unicode 替换?我认为编译器应该先忽略注释,然后再对代码翻译做任何其他事情。
编辑:
不确定以上是否足够清楚。
我知道上面会发生什么以及为什么会出错。我的期望是编译器在对代码进行任何翻译之前应该忽略所有注释行。显然这里不是这样。我期待这种行为的基本原理。