当前位置: 首页 > news >正文

29. String, StringBuffer,StringBuilder 的区别是什么

29. String, StringBuffer,StringBuilder 的区别是什么

可变与不可变

  • String 是不可变的。 在底层下,是用final修饰的,是用字符串数组存储的。任何的修改都是会重新创建一个新的对象,而不会在原来的对象修改

    private final char value[];
    
  • StringBuffer 和 StringBuilder 是可变的。他们都是继承自AbstractStringBuilder。AbstractStringBuilder也是用字符数组存储的,但没有final修饰符修饰。所以是可变的

    char[] value;
    

线程安全性

  • String Builder 是不安全的。
  • StringBuffer 是线程安全的。加了一个同步锁来修饰它。
  • String 是用 final 来修饰的,所以是安全的
http://www.dtcms.com/a/354360.html

相关文章:

  • 统一虚拟试穿框架OmniTry:突破服装局限,实现多品类可穿戴物品虚拟试穿无蒙版新跨越。
  • 【小白笔记】网速
  • TypeScript:完整的函数类型书写方式
  • 【开题答辩全过程】以超市管理系统为例,包含答辩的问题和答案
  • Linux 系统核心调优:CPU、磁盘 I/O、网络与内核参数实战
  • 流行蝴蝶剑高清重制版Windows10可玩!
  • 小程子找Bug之for循环的初始化表达类型
  • 【美团】放它一马
  • 今日行情明日机会——20250827
  • 即时配送运营平台系统功能分析
  • 寄存器, 堆栈, 汇编指令详解
  • 入门概念|Thymeleaf与Vue
  • 企业微信对接 代理 WXJava Ngnix映射 weixin-java-cp
  • Vue 登录页高低分辨率背景图优化实现
  • mathtype公式存在乱码
  • SqlHelper类的方法详细解读和使用示例
  • Libvio访问异常排查指南
  • sql server 取起始日期到结束日期中自然月最后一天,与日期维度行转列
  • 数据治理:AI健康血液的生命线
  • Elasticsearch数据迁移快照方案初探(一):多节点集群配置踩坑记
  • Anaconda的安装与使用
  • 文本分块的优化策略-语义完整性、控制长度、重叠切分、结合模型,考虑大模型输入限制
  • matlab的app中传递数据
  • 林墨2025全新个人EP《嘻嘻呵呵嘿嘿哈哈》 第三支单曲解锁
  • 【数据分享】安徽省安庆市地理基础数据(道路、水系、铁路、行政边界(含乡镇)、DEM等)
  • 企业分支上云的常见误区与纠正方案
  • LeetCode - 反转链表 / K 个一组翻转链表
  • HSA35NV001美光固态闪存NQ482NQ470
  • CT03-215.数组中第k大的元素
  • 面试之微服务架构