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