Следующий код выводит результат "Hello World!". (нет, попробуйте).
public static void main(String... args) {
// The comment below is not a typo.
// \u000d System.out.println("Hello World!");
}
Причиной этого является то, что компилятор Java анализирует символ Unicode \u000d
как новую строку и преобразуется в:
public static void main(String... args) {
// The comment below is not a typo.
//
System.out.println("Hello World!");
}
Таким образом, получается, что комментарий "выполнен".
Так как это можно использовать для "скрытия" вредоносного кода или того, что может себе представить злой программист, , почему это разрешено в комментариях?
Почему это разрешено спецификацией Java?