从技术上讲,我们可以说字符数组和字符串都包含字符序列,并用作字符集合。但是我们将在下面讨论两者之间的重大差异。
以下是String和Character数组之间的重要区别。序号要点字符串字符数组1实作Flexjson是一个轻量级的库,用于将Java对象序列化和反序列化成JSON格式以及从JSON格式反序列化。 我们还可以使用JSONSerializer类的serialize()方法序列化Map,它对目标实例执行浅层序列化。另一方面,字符数组是数据类型为char的顺序集合,其中每个元素都是单独的实体。
2内部实施字符串内部实现使其本质上不可变。另一方面,字符数组本质上是可变的。
3内建功能由于String是一个类,因此提供了各种内置函数substring(),charAt()等。Java中没有提供用于对字符数组进行操作的内置函数。
4级联字符串可以通过使用 + 运算符或者使用其内置函数 concate ()串联起来。字符数组不能使用这些函数/运算符中的任何一个进行级联。
5存储字符串可以以任意顺序存储在内存中称为SCP(String Constant Pool)的内存部分。字符数组中的元素连续存储在递增的存储位置中,这称为堆。
6转换次数String类的toCharArray()方法可以将字符串转换为字符数组。另一方面,可以通过将字符数组传递给String构造函数将其转换为String。
字符串与字符数组的示例
JavaTester.javapublic class JavaTester{
public static void main(String[] args) {
String s = "HELLO";
char [] ch = s.toCharArray();
char[] a = {'H', 'E', 'L', 'L', 'O'};
String A = new String(a);
System.out.println(s);
System.out.println(A);
}
}
输出结果HELLO
HELLO