java中字符串和字符数组的区别?

2024年11月22日 09:48
有5个网友回答
网友(1):

字符串以\0结束那是字符串在计算机内的存储结构,你定义了字符串计算机默认会在字符串后加上\0做为字符串结束标记,但是你写程序时并没有显式的写出来。
判断是否为字符串:字符串都是用双引号包含的。例如char *string="beijing"。
定义字符串有两种方法:一、字符串指针 char *string="abcde";
二、一维字符数组。例如:char string[10];string="abcde";
用字符数组定义注意了,数组长度为n,但是字符个数只能为n-1,就是上面说的计算机默认加了\0占了一个,否则会溢出。
字符数组一维的和字符串一样,二维的就是char string[M][N];当然你还可以类似定义多维的。

网友(2):

字符串是一个比较笼统的概念,C、C++中本身并没有“字符串”这种数据类型。所谓的字符串,一般是指,很多字符组成的序列。通常他们会用数组来表示,为了标志字符串已经结束,最后用一个\0,来表示字符串结束了。

当然,你只要使用一整套自己的字符串处理函数,你可以把“字符串”这种数据类型写成任意形势,比如MFC写的CString,或者atl的string等等。你甚至可以自己去写一个,只要你愿意,你甚至可以不让字符串以\0结尾,只要你能用别的方法来确保你不会越界读写。

网友(3):

如果往深入了说,字符串的底层也是用数组实现的。
要说使用的区别,字符串方便一些,数组灵活一些

网友(4):

字符串的话,是不可以变它的内容的。
字符数组的话,你是可以改变数组中包含的内容的。

网友(5):

你问的不是很详细。我属于菜鸟级别的。姑且回答一下。
1、字符串是类,字符数组是数组。(数组和类的区别就不用我说了吧)
2、字符数组是char类型的,字符串是String类型的
3、两者之间的相互转化:
String s="this is a string";
char[ ] c={'t','h','i','s','i','s','a','c','h','a','r'};
字符串转换为字符数组
char[ ] ch=s.toCharArray();
字符数组转化为字符串
String str=string.valueOf(c);