StringBuffer类概述
我们在对字符串进行拼接操作时,都是使用如下用法,这样每次拼接都会创建一个新的String对象,既耗时又浪费时间,用StringBuffer就可以解决这个问题。
String s1="hello";
s1=s1+"world";
使用StringBuffer后,可使用append方法来进行拼接
StringBuffer sb1=new StringBuffer();
sb1.append("hello");
sb1.append("world");
//注意不能把字符串的值直接赋值给StringBuffer
StringBuffer和StringBuilder和String的区别
StringBuffer是线程安全,可变的字符序列,效率慢,从1.0开始
StringBuilder是线程不安全,可变的字符序列,效率快,从1.5开始
String是线程不安全,不可变的字符序列,效率快
StringBuffer和数组的区别
二者都可以看成一个容器
StringBuffer的数据最终是一个字符串数据
数组可以放多种数据,但必须是同一类型
StringBuffer和String的互相转换
//String --> StringBuffer
String s1="hello";
//方式1
StringBuffer sb1=new StringBuffer(s1);
//方式2
StringBuffer sb2=new StringBuffer();
sb2.append(s1);
//StringBuffer --> String
StringBuffer sb1=new StringBuffer("hello");
//方式1
String s1=new String(sb1);
//方式2
String s2=sb1.toString();
数组转字符串
public static String arrayToString(int[] arr) {
StringBuffer sb=new StringBuffer();
sb.append("[");
for(int i=0;i<arr.length;i++) {
if(i==arr.length-1) {
sb.append(arr[i]).append("]");
}
else {
sb.append(arr[i]).append(",");
}
}
String s=sb.toString();
return s;
}
StringBuffer和String作为参数传递
待更
这篇博客介绍了StringBuffer类的基础知识,包括它与StringBuilder和String的区别,以及如何与数组进行转换。StringBuffer是线程安全的字符序列,适合多线程环境下进行字符串拼接,而StringBuilder效率更高但不安全。此外,还探讨了将数组转换为字符串的方法以及在参数传递中的使用场景。
&spm=1001.2101.3001.5002&articleId=90183761&d=1&t=3&u=b6272c8282b940c38c93318e77f77cb7)
6643

被折叠的 条评论
为什么被折叠?



