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 开始,线程不安全,效率高

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

相关推荐
weixin_BYSJ19871 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
梦幻通灵1 小时前
Java中finally失效的几种情况【持续更新】
java·开发语言
月落归舟1 小时前
SpringMVC 多种响应返回方式
java·开发语言
吃饱了得干活1 小时前
JVM垃圾回收:从新生代到ZGC,从理论到调优
java·jvm·后端
长不胖的路人甲1 小时前
二叉排序树(BST)Java 完整实现 + 删除思路详解
java·开发语言·算法
大模型码小白2 小时前
Java 部署:Jenkins Pipeline 构建 Java 项目(自动化)
java·人工智能·python·机器学习
长不胖的路人甲2 小时前
可达性分析法(根搜索算法)完整详解
java·jvm·算法
笨笨饿2 小时前
#102_Codex无在VSCold无法打开
java·c语言·数据库·笔记
程序员清风2 小时前
AI不是万能的,大家要专注实践!
java·后端·面试
青山木2 小时前
Hot 100 --- 全排列
java·数据结构·算法·leetcode·深度优先