总是忘记 Java 字符串格式说明符?或者,也许您从未花时间学习。这是您可以使用的各种标志的参考。
您是否尝试阅读并理解 Java 的字符串格式文档?我已经发现它几乎无法穿透。虽然它确实包含所有信息,但该组织仍有一些不足之处。

本指南试图使 Java 中字符串格式的使用更加清晰和方便。您可能还想查看Java 8 中的新增功能。

字符串格式

在 java 中格式化字符串的最常见方法是使用String.format()。如果有一个“java sprintf”,那就是它了。

String output = String.format("%s = %d", "joe", 35);

对于格式化的控制台输出,您可以使用printf()或System.out和System.err PrintStreams的format()方法。

System.out.printf("My name is: %s%n", "joe");

创建一个Formatter 并将其链接到StringBuilder。使用format()方法格式化的输出将附加到StringBuilder。

StringBuilder sbuf = new StringBuilder();
Formatter fmt = new Formatter(sbuf);
fmt.format("PI = %f%n", Math.PI);
System.out.print(sbuf.toString());
// you can continue to append data to sbuf here.

格式说明符

以下是对所有支持的转换说明符的快速参考:
image.png

日期和时间格式

注意:在下表中使用带有“%T”而不是“%t”的格式化字符会使输出大写。
image.png

参数索引

参数索引指定为在“ $”后以“ %”结尾的数字,并在参数列表中选择指定的参数。

String.format("%2$s", 32, "Hello"); // prints: "Hello"

格式化整数

使用%d格式说明符,您可以使用所有整数类型的参数,包括 byte、short、int、long 和 BigInteger。

默认格式:
String.format("%d", 93); // prints 93
指定宽度:

String.format("|%20d|", 93); // prints: |                  93| 

在指定宽度内左对齐:

String.format("|%-20d|", 93); // prints: |93                  |

用零填充:

String.format("|%020d|", 93); // prints: |00000000000000000093|

用“+”打印正数:

(负数总是包含“-”):

String.format("|%+20d|', 93); // prints: |                 +93|

使用特定于语言环境的千位分隔符:

对于美国语言环境,它是“,”:

String.format("|%,d|", 10000000); // prints: |10,000,000|

将负数括在括号内(“()”)并跳过“-”:

String.format("|%(d|", -36); // prints: |(36)|

八进制输出:

String.format("|%o|"), 93); // prints: 135

十六进制输出:

String.format("|%x|", 93); // prints: 5d

八进制和十六进制输出的替代表示:

打印以“ 0”开头的八进制数字和以“ ”开头的十六进制数字0x。

String.format("|%#o|", 93);
// prints: 0135

String.format("|%#x|", 93);
// prints: 0x5d

String.format("|%#X|", 93);
// prints: 0X5D

字符串和字符转换

默认格式:

打印整个字符串。

String.format("|%s|", "Hello World"); // prints: "Hello World"

指定字段长度

String.format("|%30s|", "Hello World"); // prints: | Hello World|

左对齐文本

String.format("|%-30s|", "Hello World"); // prints: |Hello World |

指定最大字符数

String.format("|%.5s|", "Hello World"); // prints: |Hello|

字段宽度和最大字符数

String.format("|%30.5s|", "Hello World"); | Hello|

概括

本指南解释了 Java 中的字符串格式。我们介绍了支持的格式说明符。数字和字符串格式都支持用于替代格式的各种标志。如果您想了解更多关于 Java 字符串的内容,请查看 Java 字符串的注意事项,加群:3907814,获取更多免费资料


Java攻城师
451 声望392 粉丝

本人太过于丰富,无法简介