是否以 String.format 格式重用参数?

2022-08-31 06:54:39
String hello = "Hello";

String.format("%s %s %s %s %s %s", hello, hello, hello, hello, hello, hello);

hello hello hello hello hello hello 

在调用 format 方法时,变量是否需要重复多次,或者是否有速记版本允许您指定一次要应用于所有标记的参数?hello%s


答案 1

文档中

  • 常规、字符和数值类型的格式说明符具有以下语法:
        %[argument_index$][flags][width][.precision]conversion
 

可选argument_index是一个十进制整数,指示参数在参数列表中的位置。第一个参数由 引用,第二个参数由 引用,依此类推。"1$""2$"

String.format("%1$s %1$s %1$s %1$s %1$s %1$s", hello);

答案 2

另一种选择是使用相对索引:格式说明符引用与最后一个格式说明符相同的参数。

例如:

String.format("%s %<s %<s %<s", "hello")

结果为 。hello hello hello hello