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

+、StringBuffer、StringBuilder区别

作者头像
喵叔
发布2021-01-29 10:53:25
4930
发布2021-01-29 10:53:25
举报
文章被收录于专栏:喵叔's 专栏

零、故事 小王是一个一年经验的新 Java 程序员,最近他负责的模块出现了性能问题,每次执行的时间总是在十多秒。小王经过排查终于找出来原因了,是因为在字符串连接的时候使用了传统的字符串连接方式造成的,但是具体的解决方法小王还是不清楚。于是小王找到了项目组的资深程序员刘哥,刘哥看完代码告诉小王说:你可以使用 StringBuffer 或者 SrtingBuilder 进行字符串连接。小王将连接方法改完后再次运行代码发现性能果然有所提升。这也激发了小王探索的兴趣,于是小王便在网上翻阅资料查询。。。 一、讲解 Java 中 + 、 StringBuffer 和 StringBuilder 在开发中我们经常用到,但是部分开发人员就像前面故事中所讲的小王一样对这三种字符串连接方式有所疑惑,下面我就来一一讲解一下。

+是我们使用最频繁的字符串拼接方式,也是效率最低的字符串拼接方式,为什么说说它失效率最低的呢?我们都知道在 Java 中 String 是不可变的,用于存放字符的数组被声明为了 final ,因此只能进行一次赋值。那么这样我们在拼接字符串的时候实际上是重新创建了一个 String 类型的变量。 2. StringBuffer StringBuffer 是 JDK 1.0 中引入的一个线程安全的字符串变量,在任意时间点上都包含特定的字符序列,并且可以调用一些方法去该表序列长度和内容。一般来说如果需要大量修改字符串内容以及跨线程使用的话建议使用它。 3. StringBuilder StringBuilder 是 JDK 5.0 引入的一个非线程安全的字符串变量,StringBuilder 对象被当作是一个包含字符序列的变长数组。它主要是用来保证性能但不保证线程安全的前题替代 + 来连接字符串,主要用于在单线程

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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