java string toCharArray()方法将此字符串转换为字符数组。它返回一个新创建的字符数组,它的长度和这个字符串相似,它的内容用这个字符串的字符初始化。返回一个新分配的字符数组,其长度为该字符串的长度,其内容被初始化为包含该字符串表示的字符序列。
public class StringToCharArrayExample { public static void main(String[] args) {
String input = "java-jdon"; char[] chars = input.toCharArray(); for (int i = 0; i < input.length(); i++) { System.out.print(chars[i] +" "); } } }
|
toCharArray 内部实现:
这将检查字符串是否包含拉丁字符或 UTF16 字符。
public char[] toCharArray() { return isLatin1() ? StringLatin1.toChars(value) : StringUTF16.toChars(value); }
|
如果字符串是拉丁语,则调用StringLatin1.toChars
public static char[] toChars(byte[] value) { char[] dst = new char[value.length]; inflate(value, 0, dst, 0, value.length); return dst; }
|
如果字符串是拉丁语,则调用StringUTF16.toChars并调用getChars()方法。
public static char[] toChars(byte[] value) { char[] dst = new char[value.length >> 1]; getChars(value, 0, dst.length, dst, 0); return dst; }
|