从技术上讲,我们可以说字符数组和字符串都包含字符序列,并用作字符集合。但是我们将在下面讨论两者之间的重大差异。
以下是String和Character数组之间的重要区别。
序号要点
字符串
字符数组1实作Flexjson是一个轻量级的库,用于将Java对象序列化和反序列化成JSON格式以及从JSON格式反序列化。我们还可以使用JSONSerializer类的serialize()方法序列化Map,它对目标实例执行浅层序列化。
另一方面,字符数组是数据类型为char的顺序集合,其中每个元素都是单独的实体。2内部实施字符串内部实现使其本质上不可变。
另一方面,字符数组本质上是可变的。3内建功能由于String是一个类,因此提供了各种内置函数substring(),charAt()等。
Java中没有提供用于对字符数组进行操作的内置函数。4级联字符串可以通过使用+运算符或者使用其内置函数concate()串联起来。
字符数组不能使用这些函数/运算符中的任何一个进行级联。5存储字符串可以以任意顺序存储在内存中称为SCP(StringConstantPool)的内存部分。
字符数组中的元素连续存储在递增的存储位置中,这称为堆。6转换次数String类的toCharArray()方法可以将字符串转换为字符数组。
另一方面,可以通过将字符数组传递给String构造函数将其转换为String。JavaTester.java
public 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