String hello = "Hello";
String.format("%s %s %s %s %s %s", hello, hello, hello, hello, hello, hello);
hello hello hello hello hello hello
Требуется ли многократное повторение переменной hello при вызове метода format или существует сокращенная версия, позволяющая указать аргумент один раз для применения ко всем %s
токенам?
Вам необходимо использовать индексный аргумент пользователя
%[argument_index$]
следующим образом:Результат:
hello hello hello hello hello hello
источник
Один из распространенных случаев повторного использования аргумента
String.format
- разделитель (например,";"
для CSV или вкладка для консоли).Это не желаемый результат.
"c"
нигде не появляетсяСначала необходимо использовать разделитель (с
%s
) и использовать только аргумент index (%2$s
) для следующих случаев:Добавлены пробелы для удобства чтения и отладки. Как только формат окажется правильным, пробелы могут быть удалены в текстовом редакторе:
источник