顿搜
飞过闲红千叶,夕岸在哪
类目归类
①、String长度不可变、不可被继承
②、StringBuilder长度可变
③、当进行大量的字符串拼接操作时,StringBuilder的append方法比String的“+”快很多
1、StringBuilder
①、StringBuilder继承自AbstractStringBuilder,重载了不同的append()方法。
②、StringBuilder是一个链式编程,即每次函数会返回自己this。
③、数组容量不够时,会调用AbstractStringBuilder的expandCapacity()方法,将数组的容量扩大至原来的2n+2。
④、一共需进行log2N次开辟和释放,并且一共需复制2n个字符。
2、String
每次“+”,要new StringBuilder(),然后new char[str.length()+1],一共2n次开辟和释放,并且一共需复制n*n/2次.3、StringBuffer
StringBuffer的方法只是比StringBuilder多了同步synchronized关键字,两者功能一样。