Java String.format()拼接方式
Java字符串拼接方式
String.format()
String.format()使用的是类似C语言的格式化方式,比如%s、%d之类的。
在Java中,基础数据类类型对应的常用占位符如下:
整数类型
整数类型(byte、short、int、long):
- 十进制:%d
- 八进制:%o
- 十六进制:%x(小写)或 %X(大写)
示例:String.format("%d", 100L) 输出 "100"。
查阅Java的官方文档。例如,Java的String.format()的格式说明符语法中,转换符部分。例如,对于整数,%d用于十进制整数,
但参数可以是byte、short、int、long、BigInteger。也就是说,无论哪种整数类型,都可以用%d,或者%o(八进制)、%x(十六进制),不需要区分长度。
浮点类型
浮点类型(float、double):
- 浮点数:%f
- 科学计数法:%e(小写)或 %E(大写)
- 自动选择(浮点或科学计数):%g(小写)或 %G(大写)
示例:String.format("%.2f", 3.1415f) 输出 "3.14"。
字符类型
字符类型(char):
- 单个字符:%c
示例:String.format("%c", 'A') 输出 "A"。
布尔类型
布尔类型(boolean):
- 布尔值:%b(输出 "true" 或 "false")
示例:String.format("%b", true) 输出 "true"。
String类型
在 Java 的 String.format() 方法中,String 类型应使用 %s 作为占位符。%s 是一个通用的字符串占位符,可以处理任何对象(包括 String),会自动调用对象的 toString() 方法将其转换为字符串。
具体用法:
-
基本用法:
String name = "Alice"; String formatted = String.format("Hello, %s!", name); // 输出 "Hello, Alice!" -
处理非 String 对象:
Integer number = 123; String formatted = String.format("Value: %s", number); // 输出 "Value: 123" -
格式化控制:
- 指定宽度:%10s(右对齐,最小宽度 10 字符)
String.format("%10s", "Java"); // 输出 " Java" - 左对齐:%-10s
String.format("%-10s", "Java"); // 输出 "Java " - 截断字符串:%.5s(最多保留前 5 个字符)
String.format("%.5s", "Hello World"); // 输出 "Hello"
- 指定宽度:%10s(右对齐,最小宽度 10 字符)
-
处理 null:
String formatted = String.format("Value: %s", null); // 输出 "Value: null"
示例代码:
String result = String.format(
"Name: %s, Age: %s, Object: %s, Null: %s",
"Alice", 25, new ArrayList<>(), null
);
// 输出:Name: Alice, Age: 25, Object: [], Null: null
注意事项
基础数据类型注意事项:
- long类型不需要特殊修饰符(如 %ld),直接用 %d。
- float和double均使用 %f,但传递float时会自动提升为double。
- 非布尔值使用%b时,非null对象会输出"true",null输出"false"。
String类型注意事项:
- %s 是最通用的占位符,可以处理所有数据类型(包括基础类型和对象)。
- 如果参数是 char 类型(非字符串),%s 会将其转为单字符字符串。
- 格式化时若参数为 null,%s 会输出 "null",而非抛出异常。

浙公网安备 33010602011771号