Java中经常会用到格式化内容输出,简单写个文档,看看自己还有哪些遗漏

https://docs.oracle.com/javase/8/docs/api/

String.format

常规类型、字符类型和数值类型的格式说明符的语法如下:

1
%[argument_index$][flags][width][.precision]conversion
  • 可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 “1$“ 引用,第二个参数由 “2$“ 引用,依此类推。

  • 可选 flags 是修改输出格式的字符集。有效标志集取决于转换类型。

    Flag General Character Integral Floating Point Date/Time Description
    ‘-‘ y y y y y The result will be left-justified.
    ‘#’ y1 - y3 y - The result should use a conversion-dependent alternate form
    ‘+’ - - y4 y - The result will always include a sign
    ‘ ‘ - - y4 y - The result will include a leading space for positive values
    ‘0’ - - y y - The result will be zero-padded
    ‘,’ - - y2 y5 - The result will include locale-specific grouping separators
    ‘(‘ - - y4 y5 - The result will enclose negative numbers in parentheses
  • 可选 width 是一个非负十进制整数,表明要向输出中写入的最少字符数。

  • 可选 precision 是一个非负十进制整数,通常用来限制字符数。特定行为取决于转换类型。

  • 必须 conversion 是一个表明应该如何格式化参数的字符。给定参数的有效转换集取决于参数的数据类型。

% [argument_index$]
(下标)
Flags
(标志)
Width
(宽度)
Precision
(精度)
Conversions
(转换格式)
% 1$ 0 8 x %1$08x