Почему некоторые символы ASCII не могут быть выражены в форме '\ uXXXX' в исходном коде Java?
Я наткнулся на это (снова) сегодня:
class Test {
char ok = '\n';
char okAsWell = '\u000B';
char error = '\u000A';
}
Он не компилируется:
Неверная символьная константа в строке 4.
Компилятор, кажется, настаивает на том, чтобы я написал вместо этого \ n. Я не вижу причин для этого, но этоочень раздражает.
Есть ли логическое объяснение, почему символы, которые имеют специальные обозначения (например,\t
, \n
, \r
) должен быть выражено в этой форме в исходном коде Java?