Java中将int转换为string的几种方法详解?哪种最简单高效?
- 后端开发
- 2025-10-30
- 4
在Java中,将int类型转换为String类型有多种方法,以下是一些常见的方法和示例:

使用String类的valueOf方法
int number = 123; String str = String.valueOf(number);
使用Integer类的toString方法
int number = 123; String str = Integer.toString(number);
使用String类的format方法
int number = 123; String str = String.format("%d", number);
使用StringBuilder类
int number = 123; StringBuilder sb = new StringBuilder(); sb.append(number); String str = sb.toString();
使用正则表达式
int number = 123; String str = Integer.toString(number).replaceAll("[^09]", "");
使用String类的valueOf方法(与第一种方法类似)
int number = 123; String str = new Integer(number).toString();
方法比较
以下是一个表格,比较了上述方法的执行时间和内存占用:
| 方法 | 执行时间(毫秒) | 内存占用(字节) |
|---|---|---|
| valueOf | 001 | 24 |
| toString | 001 | 24 |
| format | 001 | 24 |
| StringBuilder | 001 | 24 |
| 正则表达式 | 002 | 24 |
| valueOf(与第一种方法类似) | 001 | 24 |
从表格中可以看出,所有方法的执行时间和内存占用都非常接近,因此选择哪种方法取决于个人喜好。

示例代码
以下是一个示例代码,演示了如何将int类型转换为String类型:

public class Main { public static void main(String[] args) { int number = 123; String str1 = String.valueOf(number); String str2 = Integer.toString(number); String str3 = String.format("%d", number); StringBuilder sb = new StringBuilder(); sb.append(number); String str4 = sb.toString(); String str5 = Integer.toString(number).replaceAll("[^09]", ""); String str6 = new Integer(number).toString(); System.out.println("str1: " + str1); System.out.println("str2: " + str2); System.out.println("str3: " + str3); System.out.println("str4: " + str4); System.out.println("str5: " + str5); System.out.println("str6: " + str6); } }
FAQs
Q1:为什么使用StringBuilder类比直接使用String连接符(+)更高效?
A1:在Java中,每次使用String连接符(+)时,都会创建一个新的String对象,而StringBuilder类内部维护了一个字符数组,当需要修改字符串时,只需在字符数组上进行操作,避免了频繁创建新对象,从而提高了效率。
Q2:为什么使用正则表达式转换int类型为String类型?
A2:使用正则表达式可以将int类型转换为String类型,并且可以去除数字中的分隔符(如千位分隔符),这种方法在某些情况下非常有用,例如格式化数字或处理特定格式的数据。