Java中String和Character数组之间的区别。

从技术上讲,我们可以说字符数组和字符串都包含字符序列,并用作字符集合。但是我们将在下面讨论两者之间的重大差异。

以下是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.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