首页

文章

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操作的是同一对象,每次不会重新创建字符串

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

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。
1.可变与不可变
String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。
private final char value[];
StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。
char[] value;
2.是否多线程安全
String中的对象是不可变的,也就可以理解为常量,显然线程安全。
AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。
StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。看如下源码:

public synchronized StringBuffer reverse() {
super.reverse();
return this;
}

public int indexOf(String str) {
return indexOf(str, 0); //存在 public synchronized int indexOf(String str, int fromIndex) 方法
}

StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。
3.StringBuilder与StringBuffer共同点
StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。
抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。
StringBuilder、StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...)。只是StringBuffer会在方法上加synchronized关键字,进行同步。
最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。
特别精辟的个性签名(非常经典的个性句子) 特别经典的个性签名(非常惊艳的个性句子) 文艺范十足的个性签名(温柔治愈的个性签名句子) wps文字怎么设置每页头和尾 27岁的女人需要补充哪些营养元素 27岁该重视美容了吗?都可以用哪些方法好些呢? airpods连不上手机怎么回事 - 知百科 腰肌劳损能养好吗? 有一段相声讲的是原始人打猎,唱歌,学说话的,请问名字是什么? 个人征信逾期记录的修复攻略,手把手传授 抖音火山版在哪注销账号 注销账号方法介绍 支付宝怎么把余额宝冻结的钱转出来? 余额宝冻结金额怎么解冻? 支付宝余额锁定怎么解除?可以简单介绍一下吗? 母乳跟气血有关系吗 穿jk发朋友圈俏皮的文案 穿jk制服发朋友圈的文案 福鼎绿雪芽茶历史传说 福鼎太姥绿雪芽曾与武夷山名茶齐名 石蛙保护级别是多少? 是田螺吗?还是别的什么? 昆虫头上像丝一样的感觉器官是表示什么词语 感什么器什么的词语感x器x式的四字词语 三控开关怎么接线方法图片 独立IP和共享IP的区别以及各自的优势有哪些 什么是共享和独享IP、动态和静态IP、固定IP? 连接电脑的wifi如何查名称怎么查看电脑wifi 千变表情是什么意思? kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 微信寄快递怎么取消订单_取消订单方法介绍 300兆宽带用什么路由器好? 请问高分子井盖具体材料有那些?谢谢 井盖骨架有哪些材料 ...一个女主是空姐,她和男主第一次在去巴黎飞机上相遇,约定如果三次... 找一部电影 记得结局是主角上了私人飞机,然后和空姐,可能是情人... 360借条怎么开通? 脚踝系红绳是什么意思 痤疮 痘痘 黑头 粉刺必看的终结绿色治疗 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的区别? 请说详细点,最好用内存分析解释 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”之间的区别是什么? 手机无网络怎么办 手机没有网络怎么恢复 手机无法上网了怎么办? 手机没有网络怎么办 手机有信号没网络怎么办 手机没网络怎么回事? 手机突然没网络了怎么办
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com