Java教程 目录

如何将String转换为char数组

在这小节中将学习如何将String转换为char数组,然后将char数组转换为Java中的String

1. 字符串转为char数组

Java String是一个字符流。String类提供了一个实用程序方法,用于将String转换为char数组。下面通过一个简单的程序来演示如何操作。

import java.util.Arrays;

public class StringToCharArray {

    public static void main(String[] args) {
        String str = "example.com";
        char[] charArr = str.toCharArray();
        // print the char[] elements
        System.out.println("String converted to char array: " + Arrays.toString(charArr));
    }
}

执行上面示例代码,得到以下结果 -

String converted to char array: [y, i, i, b, a, i, ., c, o, m]

String.toCharArray内部使用Systemarraycopy方法。可以从下面的方法实现中看到。

public char[] toCharArray() {
    char result[] = new char[value.length];
    System.arraycopy(value, 0, result, 0, value.length);
    return result;
}

注意,上面是使用Arrays.toString方法来打印char数组。Arrays是java中的实用程序类,它提供了许多有用的方法来处理数组。例如,可以使用Arrays类来搜索,排序和复制数组操作。

2. char数组转为String

下面通过一个简单的程序,将char数组转换为String

import java.util.Arrays;

public class CharArrayToString {

    public static void main(String[] args) {
        char[] charArray = { 'K', 'A', 'O', 'P', 'S', '.', 'C', 'O', 'M' };
        String str = new String(charArray);

        System.out.println(str);
    }
}

执行上面示例代码,得到以下结果 -

KAOPS.COM

使用String类构造函数,它将char数组作为参数来创建一个String。但是,如果看一下这个构造函数实现,它会在内部使用Arrays.copyOf方法。

public String(char value[]) {
    this.value = Arrays.copyOf(value, value.length);
}

Arrays.copyOf方法在内部再次使用System.arraycopy方法。

public static char[] copyOf(char[] original, int newLength) {
    char[] copy = new char[newLength];
    System.arraycopy(original, 0, copy, 0,Math.min(original.length, newLength));
    return copy;
}

因此,可以清楚地看到System.arraycopy()是在字符串中使用char数组并将char数组转为String操作的方法。这里就是将String转换为char数组,以及将char数组转换为String示例程序的全部内容。


上一篇:Java字符串转为字节数组和字节数组
下一篇:Java字符串连接