StringBuffer就是字符串缓冲区
特点:1,长度可变
2,可以存储不同类型的数据
3,最终还是转化成字符串
4,可以对字符串进行修改
功能:
1,添加:StringBuffer append(data) //任意类型的数据
StringBuffer insert(index,data) //在字符串的index位置插入数据
2,删除:StringBuffer delete(start,end) //包含头,不包含尾
StringBuffer deleteCharAt(int index) //删除下标为index的元素
public static void main(String[] args)
{
StringBuffer sb = new StringBuffer("nihao");
System.out.println(sb);
sb.append(" hala");
System.out.println(sb);
sb.insert(1, true);
System.out.println(sb);
sb.delete(1, 5);
System.out.println(sb);
sb.deleteCharAt(2);
System.out.println(sb);
}
结果:
nihao
nihao hala
ntrueihao hala
nihao hala
niao hala
--------------
除了StringBuffer类之外,还有一个StringBuilder类,这个类与StringBuffer类的函数一模一样。
但是两者有两个不同点:
1,StringBuffer是保证线程同步的,用于多线程
2,StringBuilder是线程不同步的,用于单线程。
总之,如果我们没有使用单线程,最好使用StringBuilder,因为他比StringBuffer更快,
而如果我们使用多线程,为了安全,还是使用StringBuffer。
StringBuilder使用例子:
将int型数组转化成String类型的
public static String arrrayToString(int[] arr)
{
StringBuilder sb = new StringBuilder();
sb.append("[");
for(int x = 0;x<arr.length;x++)
{
if(x!=arr.length-1)
sb.append(arr[x]+",");
else
sb.append(arr[x]+"]");
}
return sb.toString();
}