Java字符串连接的几种方式

Java字符串连接的几种方式

字符串表现的几种方式

StringBuffer和StringBuilder及String的继承关系

字符串的连接

1.String的连接方法


可以看出连接方式是新建了一个包含两个长度的字符数组,然后进行连接。

2.StringBuilder中存储字符串其实用的是一个char数组,capacity其实就是指定这个char数组的大小,StringBuilder的连接方法是继承AbstractStringBuilder的方法的,线程不安全的


在append(str)函数调用的时候,首先会判断原来用于存储字符串的values的字符串数组有没有足够的大小来存储将要新添加入StringBuilder的字符串。如果不够用,那么就调用expandCapacity(int minimumCapacity)让容量翻两倍(一般是扩大两倍)

3.StringBuffer的连接方法,利用了同步(synchronized关键字),线程安全的,但这样会相对的降低速度。


4.“+”号拼接

利用+进行拼接的时候会将+号的拼接方式变换成StringBuilder的append方式,也就是说每次利用+会建立一个StringBuilder。因此,在循环内部意味着每执行一次循环,就会创建一个StringBuilder对象。因此循环里面不要用+号,在循环外面建立一个StringBuilder或StirngBuffer。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。