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

(图片来源网络,侵删)
使用 toCharArray() 方法
这是最直接的方式,将整个字符串转换为字符数组。
语法
char[] charArray = str.toCharArray();
示例
public class Main {
public static void main(String[] args) {
String str = "Hello";
// 转换为 char 数组
char[] charArray = str.toCharArray();
// 遍历并打印字符
for (char c : charArray) {
System.out.println(c);
}
// 输出结果:
// H
// e
// l
// l
// o
}
}
手动转换(不推荐)
虽然不常用,但也可以通过循环手动将字符串的每个字符存入数组:
示例
public class Main {
public static void main(String[] args) {
String str = "World";
char[] charArray = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
charArray[i] = str.charAt(i);
}
// 遍历并打印字符
for (char c : charArray) {
System.out.println(c);
}
}
}
注意事项
-
字符串长度
toCharArray()会返回一个新的char[],长度与字符串相同。- 如果字符串为空(),返回的数组长度为
0。
-
不可变性
(图片来源网络,侵删)String是不可变的,但char[]是可变的,修改数组不会影响原字符串。
-
性能
toCharArray()是最高效的方式,底层直接复制字符数组。
反向操作:char[] 转 String
如果需要将字符数组转回字符串,可以使用 String 的构造方法:
char[] charArray = {'J', 'a', 'v', 'a'};
String str = new String(charArray); // 结果:"Java"
| 方法 | 描述 | 示例 |
|---|---|---|
toCharArray() |
推荐,直接转换 | char[] arr = "abc".toCharArray(); |
| 手动循环 | 不推荐,仅作理解 | for (int i=0; i<str.length(); i++) arr[i] = str.charAt(i); |
推荐始终使用 toCharArray(),因为它简洁、高效且易读。

(图片来源网络,侵删)
