Поздняя модель 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.