18.StringBuffer和StringBuilder

来源:互联网 发布:使命召唤14优化怎么样 编辑:程序博客网 时间:2024/06/03 17:36
Java.lang.StringBuffer
Java.lang.Stringbulider
1.StringBuffer和Stringbulider是一个字符串缓冲区
2.工作原理:预先在内存中申请一块空间,以容纳字符序列,
  如果预留空间不够多,则进行自动扩容,以容纳更多字符序列
3.StringBuffer,Stringbulider和String区别?
  String是不可变的字符序列,存储在字符串常量池中
  StringBuffer是一个char数组,但是该char数组是可变的,并且可以自动扩容
4.Java.lang.StringBuffer
Java.lang.Stringbulider
StringBuffer和StringBuilder的默认初始化容量是16 
5.如何优化StringBuffer和StringBuilder?
最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,然后再创建
StringBuffer的时候采用指定初始化容量方式创建StringBuffer,为了减少底层
数组的拷贝,提高效率
6.StringBuffer和StringBuilder区别?
StringBuffer是线程安全的(可以在多线程环境下使用不会出现问题)

StringBuilder是非线程安全的(在多线程环境下使用可能出现问题)

public class HelloWorld {public static void main(String[] args) {//创建字符串缓冲区对象StringBuffer sb = new StringBuffer();//可以向StringBuffer中追加字符串String[] ins = {"运动","音乐","睡觉","美食"};//字符串频繁拼接使用StringBuffer或StringUser ,String会创建多个对象for(int i = 0; i<ins.length;i++)if(i == ins.length-1)sb.append(ins[i]);elsesb.append(ins[i]+",");System.out.print(sb);}}


原创粉丝点击