C 和 Java 中字符串和字符数组的对比

  • Post author:
  • Post category:java




1.实现原理

在 C 语言中,字符串和字符数组本质上都是

一块连续的内存空间

,需要转义

0(\0)

结束符;

在 Java 中,字符串和字符数组有本质区别,

字符串是

String

对象,而字符数组是数组对象

,均

不需要结束符

。如果是数组对象,对象内存区域中有一个字段表示数组的长度,而


String

相当于字符数组的包装类。


比如String的源码就类似于这样

java.lang.String
public final class String {

    private final char value[];

    private int hash;

    ...
}



2.char 类型的数据长度

在 C 语言中,

char

类型占 1 字节,分为

有符号与无符号

两种;

在 Java 中,

char

类型占 2 字节,只有

无符号

类型。

在这里插入图片描述



版权声明:本文为afdafvdaa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。