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

Java 中的 String、StringBuilder、StringBuffer 区别

一、背景

String 是 Java 中最常用的类型,但经常有人搞混它与 StringBuilderStringBuffer 的区别。 理解它们的差异,有助于编写高性能的字符串处理代码。


二、核心区别对比

特性StringStringBuilderStringBuffer
可变性❌ 不可变✅ 可变✅ 可变
线程安全✅ 安全(不可变)❌ 不安全✅ 安全(加 synchronized)
性能比 StringBuilder 慢一点
适用场景字符串常量单线程拼接多线程拼接

三、示例对比

String s = "A";
s += "B";
s += "C";
System.out.println(s); // ABC

每次拼接都会创建新的 String 对象,浪费内存。

优化方式👇

StringBuilder sb = new StringBuilder();
sb.append("A").append("B").append("C");
System.out.println(sb.toString()); // ABC

四、性能差异(示意)

场景String 拼接StringBuilder
拼接 1 次
拼接 1000 次非常慢非常快

✅ 建议:
日常拼接用 StringBuilder
多线程中用 StringBuffer
字符串常量直接用 String


五、小结

  • String:不可变、安全、慢
  • StringBuilder:可变、快、单线程
  • StringBuffer:可变、线程安全
http://www.dtcms.com/a/562061.html

相关文章:

  • 线性代数 - 奇异值分解(SVD Singular Value Decomposition)
  • 考研408——操作系统
  • 建设网站有哪些参考文献移动网络服务电话
  • 国内vps做网站要备案吗国家企业信息信用系统
  • 【AI基础篇】梯度提升机
  • 机器学习实践项目(二)- 房价预测 - 训练模型
  • dedecms做电商网站南昌短视频代运营公司
  • 【第38章】Spring Cloud之Quartz分布式任务调度
  • 济南网站建设 伍际网络海康打开网站显示建设中
  • 【第37章】Spring Cloud之Spring Cloud Stream分布式消息队列
  • 以 NVIDIA Sionna Research Kit 赋能 AI 原生 6G 科研
  • springboot日志处理
  • 华夏名网网站管理助手百度收录入口提交
  • 厦门 网站建设公司电话网站版面如何布局
  • 六级单词11/2
  • 扩散模型去噪:U-Net 复用机制与条件信息的使用原则
  • 公益组织网站源码百度推广联系方式
  • 成都动力无限 网站 差网站流量统计实现
  • RDPWD!SM_Connect函数里面的SM_CHECK_STATE和RDPWD!smStatetable全局变量的关系
  • 建设网站要求有哪些网络技术培训班多少钱
  • 微信公众号上微做网站jquery 网站后台模板
  • 《从零散到闭环:Unity工具链协同的高效搭建方案》
  • AUTOSAR图解==>AUTOSAR_AP_SWS_OperatingSystemInterface
  • 自己做网站在线看pdf龙城网站建设
  • 论应用系统规划
  • JavaScript事件机制详解:捕获、冒泡与事件委托
  • 网站建设哪家好知道万维科技百度成都分公司
  • 做一网站优化要多少钱新媒体营销岗位有哪些
  • 做网站 做好把我踢开推广哪个平台好
  • 在线字体设计网站云安区市场网络营销方法