Java 字符串格式:“%0”和 "d%s"

Java String Format: "%0" and "d%s"

我想知道格式化string时java中的"%0""d%s"是什么意思。

String.format("%0"+ (8 - "Apple".length() )+"d%s",0 ,"Apple"); 

输出:

000Apple

我正在寻找一种方法来格式化带有前导零的字符串,该代码可以正常工作,但我不知道它为什么有效。

在此处找到那行代码:
How to format a Java string with leading zero?

%d表示数字。 %0nd 表示具有长度的零填充数字。

您在示例中通过减法构建 n

%s 是一个字符串。

你的格式字符串最终是这样的:

"%03d%s", 0, "Apple"

所以你打印了一个三位数长的零填充 0,以及字符串 "Apple".