在 Java 中,将数字(如 int、long、double 等)转换为字符串有几种常见方法,以下是详细的说明和示例代码:

(图片来源网络,侵删)
使用 String.valueOf()
这是最直接的方法,适用于所有基本数据类型(int, long, double, float, 等)和包装类(Integer, Long, Double 等)。
示例代码
int num = 123; String str1 = String.valueOf(num); // "123" double d = 45.67; String str2 = String.valueOf(d); // "45.67" long bigNum = 123456789L; String str3 = String.valueOf(bigNum); // "123456789"
使用 Integer.toString()(或其他包装类的 toString() 方法)
适用于基本数据类型的包装类(如 Integer, Long, Double 等)。
示例代码
int num = 123; String str1 = Integer.toString(num); // "123" double d = 45.67; String str2 = Double.toString(d); // "45.67"
使用 拼接空字符串
简单但性能稍差(因为会创建临时 StringBuilder),适用于小规模数据。
示例代码
int num = 123; String str = num + ""; // "123"
使用 String.format()
可以格式化数字(如保留小数位数、科学计数法等)。

(图片来源网络,侵删)
示例代码
int num = 123;
String str1 = String.format("%d", num); // "123"
double d = 45.6789;
String str2 = String.format("%.2f", d); // "45.68"(保留两位小数)
使用 StringBuilder 或 StringBuffer
适用于需要频繁拼接字符串的场景(如循环中)。
示例代码
int num = 123; StringBuilder sb = new StringBuilder(); sb.append(num); String str = sb.toString(); // "123"
处理 null 值
如果数字可能是 null(如 Integer 对象),建议使用 Objects.toString() 或 String.valueOf() 避免 NullPointerException。
示例代码
Integer num = null; String str = String.valueOf(num); // "null"(不会报错)
| 方法 | 适用场景 | 示例 |
|---|---|---|
String.valueOf() |
通用,适用于所有基本类型和包装类 | String.valueOf(123) |
Integer.toString() |
仅适用于包装类 | Integer.toString(123) |
| 简单拼接,性能稍差 | 123 + "" |
|
String.format() |
需要格式化时 | String.format("%d", 123) |
StringBuilder |
频繁拼接时 | new StringBuilder().append(123).toString() |
String.valueOf(null) |
安全处理 null |
String.valueOf(null) 返回 "null" |
推荐
- 一般情况:使用
String.valueOf()(最通用)。 - 需要格式化:使用
String.format()。 - 频繁拼接:使用
StringBuilder。 - 处理
null:String.valueOf()或Objects.toString()。
希望这些方法能帮到你!如果有其他问题,欢迎继续提问。 😊
