方法:直接赋值:String str = "Hello World"; char[] chars = str.toCharArray();System.arraycopy():String str = "Hello World"; char[] chars = new char[str.length()]; System.arraycopy(str.toCharArray(), 0, chars, 0, str.length());StringBuilder 转换:String str = "H

Java 中将字符串存储到字符数组的方法
直接赋值
String str = "Hello World"; char[] chars = str.toCharArray();
使用 System.arraycopy()
String str = "Hello World"; char[] chars = new char[str.length()]; System.arraycopy(str.toCharArray(), 0, chars, 0, str.length());
使用 StringBuilder 转换
立即学习“Java免费学习笔记(深入)”;
String str = "Hello World"; StringBuilder sb = new StringBuilder(str); char[] chars = new char[sb.length()]; sb.getChars(0, sb.length(), chars, 0);
详细介绍
直接赋值
toCharArray() 方法直接返回一个包含字符串中所有字符的字符数组。这种方法效率最高,但仅适用于不可变的字符串。
使用 System.arraycopy()
System.arraycopy() 方法将一个数组中的元素复制到另一个数组。使用此方法时,需要创建一个新字符数组并指定其长度,然后才能将字符串转换为字符数组。
使用 StringBuilder 转换
立即学习“Java免费学习笔记(深入)”;
StringBuilder 类是一个可变字符序列,它允许高效地修改字符串。使用 getChars() 方法可以将 StringBuilder 对象中的字符复制到一个字符数组中。
选择方法
选择哪种方法取决于以下因素:
- 字符串的可变性:如果字符串不可变,则可以使用直接赋值方法。
-
效率:直接赋值方法效率最高,其次是
StringBuilder转换方法,最后是System.arraycopy()方法。 -
新数组的创建:
System.arraycopy()和StringBuilder转换方法需要创建新的字符数组,而直接赋值方法不需要。











