格式字符串可以包含静态文本和嵌入格式说明符。静态文本在格式字符串中作为结果输出。

假设您要打印包含某人的出生日期的文本。以下是此类文本的示例:

上述文本包含固定文本和格式化文本。 为了重用格式和填写人名称和生日我们可以写一个模板如下:

生日日期用尖括号括起来,以及人的姓名。我们可以称它为占位符。 后来我们可以为占位符提供真正的价值。

要在Formatter类中使用模板,我们将占位符转换为格式说明符。模板变为格式字符串。

格式说明符以百分号%开头。

我们可以重写可以与Formatter类一起使用的模板字符串,如下所示。

格式字符串中的其余文本,例如“生日,让我们去庆祝",是固定文本。

以下代码显示如何使用上述格式字符串打印格式化文本。

在代码中,我们创建了一个LocalDate来存储Mike的生日。

本地日期值和“Mike"成为格式字符串的输入值。

%和转换部分是必需的,所有其他部分都是可选的。

格式说明符和%标记之间没有空格格式字符串中的格式说明符的开始。

第一个参数称为1 $,第二个参数为2 $,依此类推。我们可以多次参考同一个参数。

flags 包含一组字符并指定输出的格式。 flags 的有效值取决于参数的数据类型。

width 指定最小数目输出所需的字符。

.precision 的确切含义取决于转换指定要输出的最大字符数。

“%n”格式输出特定于平台的换行符。

以下代码显示如何使用这两个特殊格式说明符: