如何將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 = "xuhuhu.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中方法重載和方法重寫的區別 下一篇:無