/*
java.lang.StringBuffer;
java.lang.StringBuilder;
1.StringBuffer和StringBuilder是什么?
是一个字符串缓冲区.
2.工作原理
预先在内存中申请一块空间,以容纳字符序列,
如果预留的空间不够用,则进行自动扩容,以
容纳更多字符序列。
3.StringBuffer,StringBuilder 和 String最大的区别?
String是不可变得字符序列,存储字符串常量池中。
StringBuffer底层是一个char数组,但是该char数组是可变的。
并且可以自动扩容。
4.StringBuffer和StringBuilder的默认初始化容量是16
5.如何优化StringBuffer和StringBuilder呢?
最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,
然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer.
为了减少底层数组的拷贝。提高效率。
6.StringBuffer和StringBuilder的区别?
StringBuffer是线程安全的。(可以在多线程的环境下使用不会出现问题.)
StringBuilder是非线程安全的。(在多线程环境下使用可能出现问题.)
*/
public class Test01{
public static void main(String[] args){
//创建字符串缓冲区对象
StringBuffer sb = new StringBuffer(); //16
//可以向StringBuffer中追加字符串.
String[] ins = {"体育","音乐","睡觉","美食"};
//推荐字符串频繁拼接使用StringBuffer或者StringBuilder
for(int i=0;i<ins.length;i++){
if(i==ins.length-1){
sb.append(ins[i]);
}else{
sb.append(ins[i]);
sb.append(",");
}
}
System.out.println(sb);
}
}本文出自 “gaogaozi” 博客,请务必保留此出处http://hangtiangazi.blog.51cto.com/8584103/1662499
java中的StringBuffer和StringBuilder
原文地址:http://hangtiangazi.blog.51cto.com/8584103/1662499