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

myP*_*ile 0 java string format formatting

我想知道是什么意思"%0",并"d%s"在Java格式化时string.

String.format("%0"+ (8 - "Apple".length() )+"d%s",0 ,"Apple"); 
Run Code Online (Sandbox Code Playgroud)

输出:

000Apple
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来格式化带有前导零的字符串,并且该代码可以完成工作,但我不知道它为什么会起作用.

在这里找到了这行代码:
如何格式化前导零的Java字符串?

Dav*_*ton 8

%d指数字.%0nd表示带有长度的零填充数字.

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

%s 是一个字符串.

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

"%03d%s", 0, "Apple"
Run Code Online (Sandbox Code Playgroud)

所以你打印一个长度为三位的零填充0和字符串"Apple".