[java] строки в юникоде
Может где-нибудь 'u' - не 'u', или, например, вместо английской 'C" стоит русская 'С'?
не смешно
illegal character - как раз на такое обычно указывает.
уверен. похоже уже нашел ошибку
раз
два
Короче говоря, они предлагают вместе \u000A писать \n, вместо \u005c писать \\ и так для еще нескольких (\r, \", \')
два
Короче говоря, они предлагают вместе \u000A писать \n, вместо \u005c писать \\ и так для еще нескольких (\r, \", \')
да, я нашел альтернативу - прибавляю при создании строки ко всем символам большую константу, а потом в нужный момент ее отнимаю (строка генерится автоматически)
Грамотнее все-таки сделать так, как они говорят. Иначе у тебя возможно на некоторых символах все равно падать будет.
все перечисленные символы находятся в кодировке ASCII, поэтому если прибавлять 256, то точно все будет ок
Те кто делал C тоже думали, что им не нужно будет нулевой символ внутри строки иметь.Да, есть одна большая разница между массивами java и С. В С можно задавать константные массивы, которые отобразятся 1:1в соответствующие последовательности байтов внутри obj файла. А в java это можно сделать только с помощью строк, т. к. конструкция
Ну и огребли проблем. И тебе успехов.
a = new int[] {
1,2,3
}
в java компилируется вот во что:
a = new int [3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
А это сильно увеличивает размер *.class файла. Если учесть, что я пишу для мобильника, то констнатные строке - единственный выход ...
Оставить комментарий
koly
Есть такая проблема: не компилируется следующий код:Ошибки:
unclosed string literal
illegal character
Что с этим делать?