问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

string和stringbuffer有什么区别

发布网友 发布时间:2022-03-23 00:09

我来回答

3个回答

懂视网 时间:2022-03-23 04:30

string和buffer的主要区别是:

      String而是一个类,它被用来表示字符序列,其字符本身符合 Unicode 标准,初始化方式有两种。而StringBuffer是一个具有对象引用传递特点的字符串对象,可以调用其方法动态的进行增加、插入、修改和删除操作,且不用像数组那样事先指定大小,从而实现多次插入字符,一次整体取出的效果,因而操作字符串非常灵活方便。

  

热心网友 时间:2022-03-23 01:38

通过查看string的所有成员方法你可以发现对于string的任何操作都是返回的一个新的string实例,也就是说对于string的操作都是分配了新的内存空间去得到的。
但对于stringbuffer你对它的操作如果可以在你设置的初始长度中解决,系统会在当前的stringbuffer中对应的内存空间执行你要的操作,而返回的stringbuffer仍然是前一个实例,而如果对stringbuffer的操作使得stringbuffer必须扩展它的缓冲区长度,则系统将会给你开辟一个新的stringbuffer实例

热心网友 时间:2022-03-23 02:56

String是一种强不变类型,它的值一旦被赋予之后,在内存中的相应位置上的值就不会变化了.即便你用String的方法:concat(String
str)和replace(char
oldChar,
char
newChar)等等,所返回的值都是新创建的一个String类型,而不是在原内存地址上去更改,因此比如这样的一个赋值:
String
s="Hello
Bai";
s=new
String("Hello
Bai");
这样在内存中其实是开辟了两个内存空间来存放Hello
Bai,前面那个对象依然留在内存当中,而:
s=s.concat("!");
加上这样一句,s的值变为了Hello
Bai!,在内存中实际上是新创建了一个String对象装Hello
Bai!,而原有的Hello
Bai依然存在
StringBuffer就不同了,它是种可变类型,它的值被赋予之后,在运行期同样可以通过它的方法,如append(String
str)
操作内存上的值,而不仅仅是它的引用而已,也就是说同样的对s的值进行修改
StringBuffer
s="Hello
Bai";
s.append("!");
这样的操作其实只创建了一个StringBuffer的对象,大大节约了内存的开销
这样明白些了吧,赫赫
请采纳。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 string 和stringbuffer的区别 String和StringBuffer有什么区别啊? String类和StringBuffer类的区别 String 和StringBuffer的区别是什么? 红米手机任何导航怎么总是提醒GPS信号弱 小米手机使用导航的时候总是提示GPS信号弱,自身的定位位置不同步,但是下载东西很快,网速没有问题, 滴滴车主小米手机导航GPS信号弱怎么办? 你好,我的小米手机导航时总是提示jps信号弱,导航跟不上 手机GpS定位信号弱怎么解决 小米10手机GPS信号弱怎么解觉? 小米9GPS定位慢是什么原因? 小米手机为什么gps定位信号弱 小米11pro导航GPS信号弱是怎么回事,怎么解决? 小米手机导航信号弱怎么回事? 小米9pro顶配,高速路上经常提示信号弱? 为什么小米手机总提示gps信号弱 小米手机GPS信号弱 陌陌的快聊怎么创建约会房间 陌陌是干嘛的 陌陌极速版的在线速聊怎么没有了 string和stringbuffer类的区别 String 与StringBuffer的区别? 请说详细点,最好用内存分析解释 string和stringbuffer和stringbuilder的区别 String和StringBuffer有什么区别? string和stringbuffer stringbuilder的区别 String、StringBuffer和StringBuilder的区别是什么? String,StringBuffer和StringBuilder的区别 string 和stringbuilder,stringbuffer 的区别 Java中String,StringBuilder和StringBuffer的区别 JAVA中StringBuffer与StringBuilder、String的区别是什么? java中String和StringBuffered有什么区别? “String、StringBuffer和StringBuilder”之间的区别是什么? 手机无网络怎么办 手机没有网络怎么恢复 手机无法上网了怎么办? 手机没有网络怎么办 手机有信号没网络怎么办 手机没网络怎么回事? 手机突然没网络了怎么办 没有网怎么办