杰瑞科技汇

Java字符串如何转字符数组?

在Java中将字符串转换为字符数组

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

Java字符串如何转字符数组?-图1
(图片来源网络,侵删)

使用 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();

注意事项

  1. toCharArray() 是最常用和最简洁的方法
  2. 转换后的字符数组是原始字符串的副本,修改字符数组不会影响原始字符串
  3. 如果只需要字符串中的部分字符,可以使用 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));
    }
}

输出结果:

Java字符串如何转字符数组?-图2
(图片来源网络,侵删)
方法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() 方法,因为它最简洁高效。

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