在Java中将字符串转换为char数组,将char数组转换为String
时间:2020-02-23 14:37:27 来源:igfitidea点击:
今天,我们将学习如何在Java中将String转换为char数组,然后将char数组转换为String。
字符串到char数组
Java String是字符流。
String类提供了一种实用程序方法,可以将String转换为Java中的char数组。
让我们用一个简单的程序来看一下。
package com.theitroad.util; import java.util.Arrays; public class StringToCharArray { public static void main(String[] args) { String str = "theitroad.local"; char[] charArr = str.toCharArray(); //print the char[] elements System.out.println("String converted to char array: " + Arrays.toString(charArr)); } }
下图显示了以上程序产生的输出。
String.toCharArray在内部使用系统类arraycopy方法。
您可以从下面的方法实现中看到这一点。
public char[] toCharArray() { char result[] = new char[value.length]; System.arraycopy(value, 0, result, 0, value.length); return result; }
注意使用了Arrays.toString方法来打印char数组。
数组是Java中的实用程序类,它提供了许多有用的方法来处理数组。
例如,我们可以使用Arrays类来搜索,排序和Java复制数组操作。
char数组转换为String
让我们看一个简单的程序,用Java将char数组转换为String。
package com.theitroad.util; public class CharArrayToString { public static void main(String[] args) { char[] charArray = {'P','A','N','K','A','J'}; String str = new String(charArray); System.out.println(str); } }
下图显示了char数组对String程序产生的输出。
我们正在使用String类构造函数,该构造函数将char数组作为参数从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()是在Strings到char数组和char array到String操作中使用的方法。