Поздняя модель JAVA имеет оптимизацию для + с постоянными строками, использует StringBuffer за кулисами, так что вы не хотите загромождать свой код этим.
Это указывает на недосмотр JAVA, что он не похож на ANSI C в автоматической конкатенации строк в двойных кавычках с пробелами между ними, например:
const char usage = "\n"
"Usage: xxxx <options>\n"
"\n"
"Removes your options as designated by the required parameter <options>,\n"
"which must be one of the following strings:\n"
" love\n"
" sex\n"
" drugs\n"
" rockandroll\n"
"\n" ;
Я хотел бы иметь мульти константа массива строк, где соблюдаются встроенные переводы строк, поэтому я могу представить блок без каких-либо помех, например:
String Query = "
SELECT
some_column,
another column
FROM
one_table a
JOIN
another_table b
ON a.id = b.id
AND a.role_code = b.role_code
WHERE a.dept = 'sales'
AND b.sales_quote > 1000
Order BY 1, 2
" ;
Чтобы это получить, нужно биться с богами JAVA.
Я получаю:
предупреждение: невозможно прочитать символы для /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.2.1 (8C148) /Symbols/usr/lib/info/dns.so ( файл не найден).
Версия 4.2.1 не включает 'info / dns.so'. По крайней мере, так было для меня. Однако он существует в каталоге 4.2 и на него указывает ярлык / DeviceSupport / Latest . Я просто скопировал «info / dns.so» туда, где его искал отладчик, и это, похоже, устранило предупреждение.
Когда вы подключаете устройство iOS (iPad) с немного более новой ОС, чем в SDK, в окне «Органайзер» Xcode должна появиться кнопка для загрузки новых символов. Ударь его и жди.
В настоящий момент существует несоответствие, когда выпущенная версия 4.2.1 опережает SDK версии 4.2
@ Комментарий Хроба исправил это для меня!