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。
时间: 2024-10-12 12:53:02