6.String、StringBuffer、StringBuilder区别及使用场景

String固定长度,引用的字符串内容无法改变

例如,String s = 'abc';

s = 'def';

那么 s 字符串对应的地址已经改变了

StringBuider 声明一个对象时,指向堆中的一块空间,包括两个属性 value 和 count

其中 value 属性类似动态数组,可以在地址不变的情况下动态添加内容

count 属性是数组长度,当数组内容达到最大值,会进行扩容,开辟一块新地址,旧内容拷贝到新地址

StringBuffer同理

StringBuffer JDK 1.0 开始,线程安全,效率低

StringBuilder JDK 1.5 开始,线程不安全,效率高

这是我整理的笔记,目前还在学习阶段,文章中可能有错误和不足,欢迎大家斧正!

相关推荐
vx_dmxq21112 小时前
免费领源码-Spring boot的物流管理系统 |可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·大数据·python·jupyter·课程设计
zero13_小葵司13 小时前
在不同开发语言与场景下设计模式的使用
java·开发语言·javascript·设计模式·策略模式
梁萌13 小时前
java实现移动云mas短信发送
java·短信·移动·mas
PH = 713 小时前
Spring AI整合聊天模型DeepSeek
java·spring boot·后端
珹洺13 小时前
Java-Spring入门指南(十三)SpringMVC基本概念与核心流程详解
java·开发语言·spring
ccccczy_13 小时前
SpringCloudGateway:像城市交通指挥系统一样的微服务网关
java·springcloud·微服务网关·api网关·springcloudgateway
hello 早上好14 小时前
深入理解 SPI:从定义到 Spring Boot 实践
java·spring boot·python
【上下求索】14 小时前
学习笔记092——Windows如何将 jar 包启动设置成系统服务
java·windows·笔记·学习·jar
vistaup14 小时前
android studio 无法运行java main()
android·java·android studio
liuyao_xianhui15 小时前
四数之和_优选算法(C++)双指针法总结
java·开发语言·c++·算法·leetcode·职场和发展