Bir argümanı tekrar kullanmak için yaygın bir durum String.format
, bir ayırıcıdır (örneğin ";"
CSV veya konsol sekmesi).
System.out.println(String.format("%s %2$s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; ; ; b"
Bu istenen çıktı değil. "c"
hiçbir yerde görünmüyor.
Öncelikle ayırıcıyı (ile %s
) ve yalnızca %2$s
aşağıdaki durumlar için bağımsız değişken dizinini ( ) kullanmanız gerekir :
System.out.println(String.format("%s %s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; b ; c"
Okunabilirlik ve hata ayıklama için boşluklar eklenmiştir. Biçim doğru göründüğünde, metin düzenleyicisinde boşluklar kaldırılabilir:
System.out.println(String.format("%s%s%s%2$s%s%n", "a", ";", "b", "c"));
// "a;b;c"