前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >String、StringBuilder、StringBuffer的区别

String、StringBuilder、StringBuffer的区别

作者头像
关忆北.
发布2021-12-07 16:39:55
3340
发布2021-12-07 16:39:55
举报
文章被收录于专栏:关忆北.
String、StringBuilder、StringBuffer
  • String Immutable类,被声明为final class,所有的属性也都是final的,原生就是线程安全的,特性如上述,所以String的操作效率往往对使用率有影响,针对常量池的优化。当2个String对象拥有相同的值时,他们只引用常量池中的同一个拷贝。当同一个字符串反复出现时,这个技术可以大幅度节省内存空间
  • StringBuffer 实现自AbstractStringBuilder,内部定义了一个初始长度是16的char数组字节缓存区,在缓存区使用append或者add方法将字符串添加到原序列的末尾或指定位置,长度是16+Str.length,完成后StringBuffer调用toString方法才会变成一个String,StringBuffer解决了String在拼接中效率不高的问题。(线程安全)
在这里插入图片描述
在这里插入图片描述
  • StringBuilder 实现自AbstractStringBuilder,在能力上和StringBuffer没有本质区别,去掉线程安全部分,性能优于StringBuffer,是常用的字符串拼接工具类,在JDK8之后字符串拼接的首选是StringJoiner。 StringJoiner使用方式: 点这里!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/03/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • String、StringBuilder、StringBuffer
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档