Write down , in case of forgetting

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。

posted @ 2014-11-19 16:28  doctor_q  阅读(4611)  评论(0编辑  收藏  举报