杰瑞科技汇

Java String转char数组,如何操作?

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

Java String转char数组,如何操作?-图1
(图片来源网络,侵删)

方法 1:toCharArray()(最常用)

toCharArray()String 类的内置方法,直接将字符串转换为 char 数组。

语法

char[] charArray = str.toCharArray();

示例代码

public class StringToCharArray {
    public static void main(String[] args) {
        String str = "Hello, World!";
        // 转换为 char 数组
        char[] charArray = str.toCharArray();
        // 遍历并打印字符
        for (char c : charArray) {
            System.out.println(c);
        }
        // 输出整个数组(直接打印会显示地址,需用 Arrays.toString)
        System.out.println(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 StringToCharArrayManual {
    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(Arrays.toString(charArray));
    }
}

输出

[J, a, v, a]

注意事项

  1. 不可变性
    String 是不可变的,但 char[] 是可变的,修改 charArray 不会影响原字符串。

    char[] arr = "test".toCharArray();
    arr[0] = 'T'; // 合法,但不会修改原字符串
  2. 性能
    toCharArray() 是高效的方法,底层直接复制字符数组,时间复杂度为 O(n)。

    Java String转char数组,如何操作?-图2
    (图片来源网络,侵删)
  3. 空字符串
    如果字符串为空 ,toCharArray() 会返回长度为 0 的数组 []

  4. Unicode 字符
    对于包含代理对(如 emoji 或非 BMP 字符)的字符串,toCharArray() 会正确处理每个 Unicode 码点。


方法 适用场景 特点
toCharArray() 直接转换整个字符串 简单高效,推荐使用
手动遍历 需要部分转换或自定义逻辑 灵活但代码稍长

推荐优先使用 toCharArray(),除非有特殊需求。

Java String转char数组,如何操作?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇