私は次のコードに出くわしました:
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置換をオーバーライドしないのはなぜですか?コード変換で他のことをする前に、コンパイラは最初にコメントを無視するべきだと思いました。
編集:
上記が十分に明確であるかどうかわからない。
上記で何が起こり、なぜエラーになるのかを知っています。私の期待は、コンパイラがコードで変換を行う前に、コメントされたすべての行を無視する必要があることです。明らかに、ここではそうではありません。私はこの振る舞いの論理的根拠を期待しています。