方法:直接赋值: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
直接赋值
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 转换方法需要创建新的字符数组,而直接赋值方法不需要。