java如何把字符数组转换成字符串
字符数组转字符串的方法
在Java中,将字符数组(char[])转换为字符串(String)有多种方法,以下是几种常见的方式:
使用String构造函数
通过String类的构造函数可以直接将字符数组转换为字符串:
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str = new String(charArray);
System.out.println(str); // 输出: Hello
使用String.valueOf方法
String.valueOf方法也可以将字符数组转换为字符串:
char[] charArray = {'W', 'o', 'r', 'l', 'd'};
String str = String.valueOf(charArray);
System.out.println(str); // 输出: World
使用Arrays.toString方法
如果需要将字符数组转换为包含数组内容的字符串(带格式),可以使用Arrays.toString:
char[] charArray = {'J', 'a', 'v', 'a'};
String str = Arrays.toString(charArray);
System.out.println(str); // 输出: [J, a, v, a]
使用StringBuilder或StringBuffer
通过StringBuilder或StringBuffer的append方法逐个添加字符,最后调用toString:
char[] charArray = {'T', 'e', 's', 't'};
StringBuilder sb = new StringBuilder();
for (char c : charArray) {
sb.append(c);
}
String str = sb.toString();
System.out.println(str); // 输出: Test
使用Java 8的Stream API
对于Java 8及以上版本,可以使用Stream API转换:

char[] charArray = {'S', 't', 'r', 'e', 'a', 'm'};
String str = new String(charArray, 0, charArray.length);
// 或者使用Stream
String streamStr = IntStream.range(0, charArray.length)
.mapToObj(i -> String.valueOf(charArray[i]))
.collect(Collectors.joining());
System.out.println(streamStr); // 输出: Stream
注意事项
- 如果字符数组包含部分需要转换的内容,可以通过指定起始位置和长度:
char[] charArray = {'A', 'B', 'C', 'D', 'E'}; String str = new String(charArray, 1, 3); // 从索引1开始,长度3 System.out.println(str); // 输出: BCD Arrays.toString生成的字符串包含方括号和逗号,适合调试输出,但不适合直接作为普通字符串使用。






