位置: 编程技术 - 正文

string 和StringBuffer StringBuilder的区别(string和stringbuffer创建后都可以修改)

编辑:rootadmin

推荐整理分享string 和StringBuffer StringBuilder的区别(string和stringbuffer创建后都可以修改),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:string和stringbuffer的转换,String 和StringBuffer类有什么不同?,string和stringbuffer效率,String和StringBuffer有什么区别,String和StringBuffer有什么区别,String和StringBuffer有什么区别,String和StringBuffer有什么区别,string和stringbuffer和stringbuilder的区别,内容如对您有帮助,希望把文章链接给更多的朋友!

这个面试题经常被问或者笔试题中见的比较多!

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同

1.可变与不可变

  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。

    private final char value[];

  StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。

    char[] value;

string 和StringBuffer StringBuilder的区别(string和stringbuffer创建后都可以修改)

2.是否多线程安全

  String中的对象是不可变的,也就可以理解为常量,显然线程安全。

  AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。

  StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。看如下源码:

StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。

3.StringBuilder与StringBuffer共同点

  StringBuilder与StringBuffer有公共父类AbstractStringBuilder(抽象类)。

  抽象类与接口的其中一个区别是:抽象类中可以定义一些子类的公共方法,子类只需要增加新的功能,不需要重复写已经存在的方法;而接口中只是对方法的申明和常量的定义。

  StringBuilder、StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...)。只是StringBuffer会在方法上加synchronized关键字,进行同步。

  最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer。

[置顶] 轻松实现Android登录Demo 上一篇介绍了Android项目简单的页面跳转实例,算是对开发环境的熟悉,这一篇将在此基础上加入一些简单的逻辑,实现登录的效果。登录之前:登录成

android启动模式对于体验的影响 说到Android的启动模式,懂Android的人肯定都懂。通过设置启动模式我们不仅可以节省内存的使用,还能达到更好的体验,比如我们打开一个应用,点击hom

Android程序打包和安装过程及apk安装释放文件过程 一、Android程序打包安装的过程用解压缩软件打开--Helloworld.apk--META-INF目录下,我们可以看到如下的目录结构这里面的文件保存着应用程序的签名摘要,

标签: string和stringbuffer创建后都可以修改

本文链接地址:https://www.jiuchutong.com/biancheng/386731.html 转载请保留说明!

上一篇:java如何获得JVM可能的总内存,最大内存,以及空闲内存?(Java如何获得集合里的元素)

下一篇:android启动模式对于体验的影响(android 启动器 设置)

  • 土地增值税的扣除项目包括哪几项
  • 建筑行业有哪种职业
  • 一般纳税人开劳务发票几个点
  • 房屋产权出典的由承典人作为房产税纳税义务人
  • 小额转款
  • 公司股东和自然人股东可否代持股权
  • 咨询公司小规模纳税人怎么界定
  • 规划设计合同需要缴纳印花税吗为什么
  • 结转增值税销项的账务处理
  • 另一个公司代付公司的水电费
  • 加油站销售加油卡是否征收增值税
  • 上个月申报错了怎么办
  • 污泥处置中心所得税优惠政策
  • 个体工商户3万以下免个人经营所得税吗
  • 科技研发政策
  • 采购均价怎么计算
  • 厂房转让会计分录
  • 计提坏账准备的科目
  • 出口佣金比例
  • 发票已入账未认证怎么办
  • iphone有没有
  • 苹果6手机蓝牙
  • 公司股权变更后税务没有变更会有什么后果
  • 成本法 合并
  • Mac如何开启无痕浏览
  • windows7旗舰版好用吗?
  • searchnavversion.exe - searchnavversion是什么进程 作用是什么
  • 工程暂估收入入账的会计分录
  • 预提收入的会计处理方法
  • 年终奖发放形式 更改 税务局
  • 房产税的应纳税额计算方法
  • 收到保险公司的赔款计入什么科目
  • 数字马力前端笔试题rgb
  • css设置背景颜色透明
  • mac phpstudy
  • yii2 页面底部加载css和js的技巧
  • openai创始人阿尔特曼 取向
  • yolov5目标检测流程图
  • 华为云从入门到实战电子版
  • 个税手续费返还要交企业所得税吗
  • 金税盘插电脑上没反应是怎么回事
  • 大型广告牌制作材料
  • java拼接字符串和数字
  • 物流辅助服务是
  • PostgreSQL教程(五):函数和操作符详解(1)
  • 个体工商户核算方式填什么
  • 宣告分配现金股利和股票股利的区别
  • 企业汇算清缴的工资薪金支出是怎么填
  • 投资性房地产转为存货
  • 折旧后的剩余价值叫什么
  • 营业税金及附加税率
  • 政府发的奖金需要交个税吗
  • 土地承包经营权上的房屋
  • 支付劳务费后缴多少税
  • 暂估成本以后也没有票回来了
  • 企业亏损净资产降低吗
  • 暂估应付账款余额调整
  • 为什么对子公司控股比例降到49%
  • 工程施工与工程成本的区别
  • 财付通交易手续费多少
  • 原始凭证的主要内容包括
  • 商业企业批发商是什么
  • 连接mysql服务命令
  • sqlserver 触发器 redis
  • win8电脑无法识别usb设备怎么办
  • for windows vista only
  • 怎么查看win7系统电脑访问了哪些应用程序
  • 开机停在american megatrends
  • linux工具包
  • Win10 Mobile 10586.36在Lumia640 XL中的体验 很流畅
  • 跑跑3s是谁
  • dos常用命令与批处理文件
  • 3366小游戏小
  • 置顶在哪里
  • messenger api
  • linux修改磁盘格式指令
  • 批处理打开网络连接
  • jquery中的事件
  • django 表单
  • 发票系统怎么设置打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设