String.format()
是 Java 中的一个非常有用的方法,用于格式化字符串。它允许你使用占位符 {}
来表示要插入的值,并通过传递参数来替换这些占位符。以下是一些基本的使用示例:
- 基本格式化:
String name = "Alice"; int age = 30; String formattedString = String.format("My name is %s and I am %d years old.", name, age); System.out.println(formattedString); // 输出:My name is Alice and I am 30 years old.
在这个例子中,%s
是一个字符串占位符,%d
是一个整数占位符。
2. 格式化浮点数:
double pi = 3.14159; String formattedDouble = String.format("Pi is approximately %.2f.", pi); System.out.println(formattedDouble); // 输出:Pi is approximately 3.14.
在这里,%.2f
表示保留两位小数的浮点数。
3. 对齐和填充:
int[] numbers = {1, 2, 3, 4, 5}; String formattedArray = String.format("%-5d | %-5d | %-5d | %-5d | %-5d", numbers[0], numbers[1], numbers[2], numbers[3], numbers[4]); System.out.println(formattedArray); // 输出(假设数字宽度至少为5): // 1 | 2 | 3 | 4 | 5
在这个例子中,%-5d
表示左对齐的数字,总宽度为5个字符。如果数字不足5个字符,它会在左侧用空格填充。
4. 使用换行符:
String multiLineString = String.format("Hello, %s!\nToday is %s.", "World", "Monday"); System.out.println(multiLineString); // 输出: // Hello, World! // Today is Monday.
注意,\n
在字符串字面值中表示换行符,但在 String.format()
中不是必需的,除非你确实想在格式化的字符串中包含换行。
5. 类型转换:
String.format()
还支持一些类型转换,如将整数转换为十六进制字符串:
int number = 255; String hexString = String.format("The hexadecimal value of %d is %X.", number, number); System.out.println(hexString); // 输出:The hexadecimal value of 255 is FF.
在这个例子中,%X
表示大写的十六进制表示。如果你想要小写,可以使用 %x
。