/*
java.lang.StringBuffer;
java.lang.StringBuilder;
1.StringBuffer和StringBuilder是什么
是一个容量可以改变的字符串缓冲区
2.工作原理
预先在内存中申请一块空间,以容纳字符序列,如果预留的空间不够用
则进行自动扩容
3.String和StrigBuffer,StringBuilder最大的区别?
String是不可变的字符序列,存储字符串常量池中
StringBuffer底层是一个char数组,但该数组是可变的,并且可以自动扩容
4.StringBuffer,StringBuilder的默认初始化值是16
5.如何优化StringBuffer和StringBuilder呢
最好在创建StringBuffer之前,先预测存储字符数量,然后在创建的时候
采用指定初始化容量的方式去创建,为了减少底层数组的拷贝,提高效率
6.StringBuffer和StringBuilder的区别是什么
StringBuffer是线程安全的,可以在多线程的环境下使用不会出现问题
StringBuilder是非线程安全的,在多线程的环境下使用可能出现问题
*/
public class fuck5{
public static void main(String[] args){
//创建字符串缓冲区对象
StringBuffer sb=new StringBuffer();//16
//可以往StringBuffer里面追加对象
String[] ins={"aa","bb","cc"};
//推荐字符串频繁拼接使用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);
}
}
java.lang.StringBuffer;
java.lang.StringBuilder;
1.StringBuffer和StringBuilder是什么
是一个容量可以改变的字符串缓冲区
2.工作原理
预先在内存中申请一块空间,以容纳字符序列,如果预留的空间不够用
则进行自动扩容
3.String和StrigBuffer,StringBuilder最大的区别?
String是不可变的字符序列,存储字符串常量池中
StringBuffer底层是一个char数组,但该数组是可变的,并且可以自动扩容
4.StringBuffer,StringBuilder的默认初始化值是16
5.如何优化StringBuffer和StringBuilder呢
最好在创建StringBuffer之前,先预测存储字符数量,然后在创建的时候
采用指定初始化容量的方式去创建,为了减少底层数组的拷贝,提高效率
6.StringBuffer和StringBuilder的区别是什么
StringBuffer是线程安全的,可以在多线程的环境下使用不会出现问题
StringBuilder是非线程安全的,在多线程的环境下使用可能出现问题
*/
public class fuck5{
public static void main(String[] args){
//创建字符串缓冲区对象
StringBuffer sb=new StringBuffer();//16
//可以往StringBuffer里面追加对象
String[] ins={"aa","bb","cc"};
//推荐字符串频繁拼接使用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);
}
}