在Java中,将char类型转换为String类型有多种方法,以下是几种常见的实现方式及其详细说明:

方法1:使用 String.valueOf(char)
这是最推荐的方式,简洁且高效。
char ch = 'A'; String str = String.valueOf(ch); // 结果: "A"
特点:
- 直接调用
String类的静态方法,性能较好。 - 适用于单个字符或字符数组(
char[])的转换。
方法2:使用 Character.toString(char)
通过Character类的静态方法实现,本质也是调用String.valueOf(char)。
char ch = 'B'; String str = Character.toString(ch); // 结果: "B"
特点:

- 与
String.valueOf(char)功能完全相同,只是写法不同。 - 如果需要处理
Character对象的其他方法,可以链式调用。
方法3:直接通过 String 构造函数
使用String的构造函数将char数组转换为字符串(需将单个字符包装为长度为1的数组)。
char ch = 'C';
String str = new String(new char[]{ch}); // 结果: "C"
特点:
- 不推荐用于单个字符转换,因为需要创建临时数组,效率较低。
- 适用于将
char[]数组直接转换为字符串的场景。
方法4:字符串拼接(隐式转换)
利用Java的字符串拼接机制,将char与空字符串相加。
char ch = 'D'; String str = ch + ""; // 结果: "D"
特点:

- 代码简洁,但底层会创建一个
StringBuilder对象,可能影响性能(尤其在循环中)。 - 适用于快速临时转换,但不推荐在性能敏感的场景使用。
方法5:使用 Character 对象的 toString()
先创建Character包装对象,再调用其toString()方法。
char ch = 'E'; String str = new Character(ch).toString(); // 结果: "E"
特点:
- 需要额外创建
Character对象,效率较低。 - 一般不推荐,除非需要利用
Character的其他方法。
性能对比
从性能角度排序(推荐度从高到低):
String.valueOf(char)(最快)Character.toString(char)new String(new char[]{ch})ch + ""(较慢,因涉及StringBuilder)new Character(ch).toString()(最慢)
示例代码
public class CharToStringExample {
public static void main(String[] args) {
char ch = 'X';
// 方法1:推荐
String str1 = String.valueOf(ch);
System.out.println(str1); // 输出: X
// 方法2:推荐
String str2 = Character.toString(ch);
System.out.println(str2); // 输出: X
// 方法3:不推荐(单个字符)
String str3 = new String(new char[]{ch});
System.out.println(str3); // 输出: X
// 方法4:不推荐(性能敏感场景)
String str4 = ch + "";
System.out.println(str4); // 输出: X
// 方法5:不推荐
String str5 = new Character(ch).toString();
System.out.println(str5); // 输出: X
}
}
- 优先使用
String.valueOf(char)或Character.toString(char),它们是最简洁高效的方式。 - 避免在循环或高频调用场景中使用字符串拼接(
ch + ""),以免性能问题。 - 如果需要转换的是
char[]数组,直接使用String.valueOf(char[])或new String(char[])。
