目录
从声明定义上来谈

只有String 可以 直接声明创建
而 StringBuffer 与 StringBuilder 必须去new对象
这是因为只有String会在这种声明方式下去字符串常量池创建,其他则没有
StringBuffer stf = new StringBuffer("abc");
StringBuilder stb = new StringBuilder("abc");
StringBuffer 和 StringBuilder 都继承自抽象类AbstractStringBuilder
从结构上来谈
String一旦创建,就是固定不可变的 , 而StringBuffer与StringBuilder又被称为长度可变的字符串 , 那为什么 这两个就长度是可变的呢?
字符串的底层都是char[]数组,所以我们直接来看 jdk 源码
String
StringBuffer
StringBuilder
可以发现,只有string底层的char[] 数组是加了final关键字修饰的 , 这意味着它是一个常量,我们一旦在构造方法中给定值之后,那么它就是不可变的了
但是StingBuffer和StringBuilder底层数组没有加final修饰,这就意味着它是可修改的,例,如下
StringBuffer stf = new StringBuffer("abc");
StringBuffer s = stf.append(stf);
我们使用append()方法追加改变 stf 的值 ,然后使用一个新的引用去指向它,那么stf 和 s 指向的是同一个对象吗?
是的,因为我们仅仅改变了它底层char[]数组的值 , 这里新的引用s指向的仍然是原来的对象
从线程安全来谈
线程安全问题一般存在于多线程的并发中(多个线程争夺同一资源)
String 是线程安全的 , 因为他底层的char[]数组是final的 , 它是不可被改变的,所以也就不存在线程安全问题 ,但是因为不可变 , 我们需要频繁创建新的 , 这就导致它的性能不是很高,所以如果操作中要去频繁修改字符串的值,我们一般使用另外两种
StringBuilder是线程不安全的 , 因为它是可变的, 线程之间都可以去任意修改它, 所以这之间难免会出现一些问题 ,所以我们一般在单线程下需要频繁修改字符串的值时用到它
StringBuffer是线程安全的 , 虽然它也是可变的 , 但是用来操作它的每个方法里面都加了synchronized关键字(同步锁), 也就是说 , 当一个线程在对这个StringBuffer进行操作时,另外一个线程是没有权利去操作的 , 直到上一个线程释放锁 ,它适用于多线程中
我们在学习StringBuffer类中的方法时,需要特别注意这个方法 : substring()
这个方法的返回值类型是String,并没有改变原来StringBuffer对象的值 ,例 :
StringBuffer stf = new StringBuffer("abc");
String substring = stf.substring(1);
System.out.println(stf);
System.out.println(substring);
输出发现 stf : "abc" subString : "bc" ,此时并没有去改变StringBuffer的值
总结
相关推荐:
SEO考核:如何通过精准的SEO优化提升网站排名与流量,茶艺营销推广方案怎么写
AI生成网页模板,轻松打造专业网站,ai网格画法
打造高效创作体验,写文章AI软件重塑内容生产力
ChatGPT支持多种语言输入输出,让全球资讯触手可及,联想拯救者的ai写作
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,助您畅享无障碍智能对话体验,ai记录人
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
SEO选择:如何挑选最合适的SEO优化策略?,wb免费刷粉网站推广
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
AI一键生成文章免费版:颠覆写作新体验
SEO优化知识全解析:提升网站排名的秘密武器,ai出错合集
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
SEO赚钱:如何通过SEO技能在网络上实现财富自由,网站怎么建设推广平台
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
乘风SEO-引领企业互联网时代的腾飞之路,南昌b站关键词排名优化贵不贵
360ai问答-智能时代的全能助手,未来的智慧生活,ai生成白底
在线AI文章生成:内容创作新革命
SEO抓取:让您的网站从零到一的秘诀,佛山网站建设哪家效果好
AI文章精简-高效提炼与优化你的内容创作,ai quid
seo适合看什么书,自学seo书籍推荐 ,ai少女 刻晴
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
ChatGPT打不开网页?看完这篇你就懂了!,国内ai写作安卓软件
SEO在线服务-让您的网站快速跃升至搜索引擎前列,江西小红书营销推广案例
互联网留痕:数字时代的隐形轨迹与自我管理,灯塔网站推广包年多少钱
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
GPT在智能聊天机器人中的作用:重塑沟通体验,开创智能未来,百万级ai
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
优化服务网-提升客户体验,打造全方位智慧服务平台,东莞网站建设员招聘信息
SEO快速优化排名:助你网站跃升搜索引擎首页,ai彩虹立体9怎么做
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
SEO子-为你的网站注入流量的秘密武器,麻城网站网址优化
AI一键生成文章免费:革新写作方式,提升创作效率
ChatGPT服务异常:为何影响到你的工作和生活?如何有效解决?,ai怎么保持圆角不变
seo独立站是什么,独立站推广是什么 ,ai曲线笔刷扩展
ZBlog:开启你的个人网站新时代,轻松搭建与管理,二手手机营销推广方案
人工AI软件的未来:智能时代的创新驱动力
SEO关键词的选择步骤:让你的网站在搜索引擎中脱颖而出,ai书法化
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
SEO招标:如何通过专业SEO服务助力企业脱颖而出,牡丹江关键词排名怎么样
ChatGPT免费版下载:智能对话助手带来的全新体验,电脑怎么下载Ai微认证
SEO提高:如何通过精准优化让网站流量翻倍,优化排名seo加盟费用
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
SEO留痕:数字营销的隐性力量,如何通过SEO优化让品牌更具竞争力,铁岭网站关键词建设优化
AI+写文章:开启智能创作新时代
AI仿写文章:开启内容创作新纪元
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊