在Java中将字符串转换为字符数组
在Java中,有几种方法可以将字符串(String)转换为字符数组(char[]),以下是几种常用的方法:

使用 toCharArray() 方法
这是最简单直接的方法:
String str = "Hello World"; char[] charArray = str.toCharArray();
使用 getChars() 方法
这个方法允许你指定要复制的字符范围:
String str = "Hello World"; char[] charArray = new char[str.length()]; str.getChars(0, str.length(), charArray, 0);
或者更简洁的写法:
String str = "Hello World"; char[] charArray = new char[str.length()]; str.getChars(0, str.length(), charArray, 0);
手动转换(不推荐,但展示了原理)
String str = "Hello World";
char[] charArray = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
charArray[i] = str.charAt(i);
}
使用Java 8的Stream API(现代方式)
String str = "Hello World"; char[] charArray = str.chars().toArray();
注意事项
toCharArray()是最常用和最简洁的方法- 转换后的字符数组是原始字符串的副本,修改字符数组不会影响原始字符串
- 如果只需要字符串中的部分字符,可以使用
substring()方法先截取字符串,然后再转换
示例代码
public class StringToCharArray {
public static void main(String[] args) {
String str = "Java Programming";
// 方法1: toCharArray()
char[] chars1 = str.toCharArray();
System.out.println("方法1: " + Arrays.toString(chars1));
// 方法2: getChars()
char[] chars2 = new char[str.length()];
str.getChars(0, str.length(), chars2, 0);
System.out.println("方法2: " + Arrays.toString(chars2));
// 方法3: Stream API
char[] chars3 = str.chars().toArray();
System.out.println("方法3: " + Arrays.toString(chars3));
}
}
输出结果:

方法1: [J, a, v, a, , P, r, o, g, r, a, m, m, i, n, g]
方法2: [J, a, v, a, , P, r, o, g, r, a, m, m, i, n, g]
方法3: [J, a, v, a, , P, r, o, g, r, a, m, m, i, n, g]
在实际开发中,推荐使用 toCharArray() 方法,因为它最简洁高效。

