在這小節中將學習如何將String
轉換為char
陣列,然後將char
陣列轉換為Java中的String
。
Java String是一個字元流。String
類提供了一個實用程式方法,用於將String
轉換為char
陣列。下面通過一個簡單的程式來演示如何操作。
import java.util.Arrays;
public class StringToCharArray {
public static void main(String[] args) {
String str = "tw511.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
內部使用System
類arraycopy
方法。可以從下面的方法實現中看到。
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
類來搜尋,排序和複製陣列操作。
下面通過一個簡單的程式,將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
範例程式的全部內容。