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 转换:String str = "H

Java 中将字符串存储到字符数组的方法

直接赋值

String str = "Hello World";
char[] chars = str.toCharArray();

使用 System.arraycopy()

St

ring str = "Hello World"; char[] chars = new char[str.length()]; System.arraycopy(str.toCharArray(), 0, chars, 0, str.length());

使用 StringBuilder 转换

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 转换

StringBuilder 类是一个可变字符序列,它允许高效地修改字符串。使用 getChars() 方法可以将 StringBuilder 对象中的字符复制到一个字符数组中。

选择方法

选择哪种方法取决于以下因素:

  • 字符串的可变性:如果字符串不可变,则可以使用直接赋值方法。
  • 效率:直接赋值方法效率最高,其次是 StringBuilder 转换方法,最后是 System.arraycopy() 方法。
  • 新数组的创建:System.arraycopy()StringBuilder 转换方法需要创建新的字符数组,而直接赋值方法不需要。