Java 中 String 和字符数组的区别。


从技术角度来说,字符数组和字符串都包含字符序列,并用作字符集合。但是两者之间存在显著差异,我们将在下面讨论。

以下是 String 和字符数组之间的一些重要区别。

序号关键String字符数组
1实现String 用于存储字符序列,并表示为单个数据类型和单个实体。另一方面,字符数组是 char 数据类型的顺序集合,其中每个元素都是一个独立的实体。
2内部实现String 的内部实现使其具有不可变性。另一方面,字符数组是可变的。
3内置函数由于 String 是一个类,因此提供了各种内置函数,例如 substring()、charAt() 等。Java 中没有为字符数组操作提供内置函数。
4连接String 可以使用 + 运算符或其内置函数 concate() 进行连接。字符数组不能使用这些函数/运算符进行连接。
5存储字符串可以以任何随机顺序存储在内存的一部分中,该部分称为 SCP(字符串常量池)。字符数组中的元素连续存储在内存位置递增的区域中,该区域称为堆。
6转换可以使用 String 类的 toCharArray() 方法将 String 转换为字符数组。另一方面,可以通过将其传递给 String 构造函数将字符数组转换为 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

更新于: 2019-09-18

6K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.