String hello = "Hello";
String.format("%s %s %s %s %s %s", hello, hello, hello, hello, hello, hello);
hello hello hello hello hello hello
Czy zmienna hello musi być powtarzana wiele razy w wywołaniu metody format, czy też istnieje skrócona wersja, która pozwala raz określić argument, który ma zostać zastosowany do wszystkich %s
tokenów?
java
string
string-formatting
Carey
źródło
źródło
Musisz użyć argumentu indeksu użytkownika
%[argument_index$]
w następujący sposób:Wynik:
hello hello hello hello hello hello
źródło
Jednym z typowych przypadków ponownego użycia argumentu w programie
String.format
jest użycie separatora (np.";"
Dla CSV lub tabulatora dla konsoli).To nie jest pożądane wyjście.
"c"
nie pojawia się nigdzie.Musisz najpierw użyć separatora (z
%s
) i używać argumentu index (%2$s
) tylko w następujących przypadkach:Spacje są dodawane w celu zwiększenia czytelności i debugowania. Gdy format wydaje się być poprawny, spacje można usunąć w edytorze tekstu:
źródło