在 Java 中,将字符串(String)转换为字符数组(char[])非常简单,主要使用 String 类的 toCharArray() 方法,以下是详细的说明和示例:

方法 1:使用 toCharArray()(最常用)
这是最直接的方法,直接将字符串中的每个字符复制到一个新的字符数组中。
语法
char[] charArray = str.toCharArray();
示例
public class Main {
public static void main(String[] args) {
String str = "Hello, World!";
// 转换为字符数组
char[] charArray = str.toCharArray();
// 遍历并打印字符数组
for (char c : charArray) {
System.out.println(c);
}
// 输出字符数组(直接打印)
System.out.println("字符数组: " + java.util.Arrays.toString(charArray));
}
}
输出
H
e
l
l
o
,
W
o
r
l
d
!
字符数组: [H, e, l, l, o, ,, , W, o, r, l, d, !]
方法 2:手动遍历字符串(适用于部分需求)
如果需要对转换过程进行更多控制(例如过滤某些字符),可以手动遍历字符串并填充字符数组。
示例
public class Main {
public static void main(String[] args) {
String str = "Java";
char[] charArray = new char[str.length()];
// 手动填充字符数组
for (int i = 0; i < str.length(); i++) {
charArray[i] = str.charAt(i);
}
// 输出结果
System.out.println("字符数组: " + java.util.Arrays.toString(charArray));
}
}
输出
字符数组: [J, a, v, a]
方法 3:使用 getChars()(适用于部分区域复制)
如果只需要复制字符串的某一部分到字符数组,可以使用 getChars() 方法。
语法
str.getChars(srcBegin, srcEnd, dest, destBegin);
srcBegin:源字符串起始索引(包含)。srcEnd:源字符串结束索引(不包含)。dest:目标字符数组。destBegin:目标数组的起始位置。
示例
public class Main {
public static void main(String[] args) {
String str = "Hello, World!";
char[] charArray = new char[5]; // 目标数组长度为5
// 复制字符串的索引 0 到 5(不包含5)到字符数组的起始位置 0
str.getChars(0, 5, charArray, 0);
// 输出结果
System.out.println("字符数组: " + java.util.Arrays.toString(charArray));
}
}
输出
字符数组: [H, e, l, l, o]
| 方法 | 适用场景 | 特点 |
|---|---|---|
toCharArray() |
完整转换字符串 | 最简单、最常用 |
| 手动遍历 | 需要额外逻辑(如过滤) | 灵活但代码稍长 |
getChars() |
仅复制字符串的某一部分 | 可指定源和目标范围 |
根据需求选择合适的方法即可!

