加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?

发布时间:2019-01-31 01:09:51 所属栏目:建站 来源:Hollis
导读:本文,也是对付Java中字符串相干常识的一个增补,首要来先容一下字符串拼接相干的常识。本文基于jdk1.8.0_181。 一、字符串拼接 字符串拼接是我们在Java代码中较量常常要做的工作,就是把多个字符串拼接到一路。 我们都知道,String是Java中一个不行变的类

反编译后的内容如下,反编译器材为jad。

为什么阿里巴巴不提议在for轮回中行使+举办字符串拼接?

通过查察反编译往后的代码,我们可以发明,原本字符串常量在拼接进程中,是将String转成了StringBuilder后,行使其append要领举办处理赏罚的。

那么也就是说,Java中的+对字符串的拼接,着实现道理是行使StringBuilder.append。

三、concat是怎样实现的

我们再来看一下concat要领的源代码,看一下这个要领又是怎样实现的。

为什么阿里巴巴不提议在for轮回中行使+举办字符串拼接?

这段代码起首建设了一个字符数组,长度是已有字符串和待拼接字符串的长度之和,再把两个字符串的值复制到新的字符数组中,并行使这个字符数组建设一个新的String工具并返回。

通过源码我们也可以看到,颠末concat要领,着实是new了一个新的String,这也就呼应到前面我们说的字符串的稳固性题目上了。

四、StringBuffer和StringBuilder

接下来我们看看StringBuffer和StringBuilder的实现道理。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读