Answers:
从文档:
常规,字符和数字类型的格式说明符具有以下语法:
%[argument_index$][flags][width][.precision]conversion
可选的arguments_index是一个十进制整数,指示参数在参数列表中的位置。第一个参数由引用
"1$"
,第二个参数由"2$"
等等。
String.format("%1$s %1$s %1$s %1$s %1$s %1$s", hello);
重用参数的一种常见情况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"