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

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

相关推荐
汤姆yu1 天前
基于springboot的在线答题练习系统
java·spring boot·后端·答题练习
我认不到你1 天前
JVM分析(OOM、死锁、死循环)(JProfiler、arthas、jdk调优工具(命令行))
java·linux·开发语言·jvm·spring boot
zhong liu bin1 天前
maven【maven】技术详解
java·ide·python·spring·maven·intellij-idea
七夜zippoe1 天前
Java 技术支撑 AI 系统落地:从模型部署到安全合规的企业级解决方案(二)
java·人工智能·安全
孤狼程序员1 天前
异常处理小妙招——1.别把“数据库黑话”抛给用户:论异常封装的重要性
java·数据库·mysql
java干货1 天前
还在 @AfterEach 里手动 deleteAll()?你早就该试试这个测试数据清理 Starter 了
java·数据库·oracle
弗锐土豆1 天前
编程基础-eclipse创建第一个程序
java·eclipse·helloworld·创建工程
Akshsjsjenjd1 天前
Ansible 核心功能:循环、过滤器、判断与错误处理全解析
java·数据库·ansible
桦说编程1 天前
使用注解写出更优雅的代码,以CFFU为例
java·后端·函数式编程
pythonpapaxia1 天前
Java异常处理:掌握优雅捕获错误的艺术
java·开发语言·python·其他