एक तर्क का पुन: उपयोग करने के लिए एक सामान्य मामला String.formatएक विभाजक के साथ है (उदाहरण के ";"लिए CSV या कंसोल के लिए टैब)।
System.out.println(String.format("%s %2$s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; ; ; b"
यह वांछित आउटपुट नहीं है। "c"कहीं दिखाई नहीं देता।
आपको विभाजक का उपयोग पहले (साथ %s) करने की आवश्यकता है और केवल %2$sनिम्न कारणों के लिए तर्क सूचकांक ( ) का उपयोग करें :
System.out.println(String.format("%s %s %s %2$s %s %n", "a", ";", "b", "c"));
// "a ; b ; c"
पठनीयता और डीबगिंग के लिए रिक्त स्थान जोड़े जाते हैं। एक बार प्रारूप सही प्रतीत होने के बाद, पाठ संपादक में रिक्त स्थान हटाए जा सकते हैं:
System.out.println(String.format("%s%s%s%2$s%s%n", "a", ";", "b", "c"));
// "a;b;c"