了解Java的格式字符串中的$

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)
 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附加到$?

提问于
用户回答回答于

与此2无关$

  • % =格式字符串的开始
  • 4$ =第四个参数('d')
  • 2 =两个宽度(右对齐)
  • s =字符串的类型
用户回答回答于

2$方法把第二个参数从列表在这里。该$ 遵循其人数不得先于它。同样,4$手段在这里提出第四个论点。

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

  • % - 表示这是一个格式字符串
  • 2$ - 显示第二个值的论据应放在这里
  • 2 - 格式是两个字符长
  • s - 将值格式化为字符串

扫码关注云+社区