了解 Java 格式字符串中的 $

2022-08-31 10:59:40
 StringBuilder sb = new StringBuilder();
 // Send all output to the Appendable object sb
 Formatter formatter = new Formatter(sb, Locale.US);

 // Explicit argument indices may be used to re-order output.
 formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
 // -> " d  c  b  a"

在这种情况下,为什么将 2 附加到 $?


答案 1

与 以下各项无关:2$

  • %= 格式字符串的开头
  • 4$= 第四个参数 ('d')
  • 2= 宽度为 2(右对齐)
  • s= 字符串类型

答案 2

均值将列表中的第二个参数放在这里。后面跟着一个不前面的数字。同样,means在这里提出了论点。2$$4$

为了澄清,我们可以将格式分解为几个部分:%2$2s

  • %- 指示这是一个格式字符串

  • 2$- 显示第二个值参数应该放在这里

  • 2- 格式为两个字符长

  • s- 将值格式化为字符串

您可以在文档中找到更多信息。


推荐