StringBuffer
就是字符串的缓冲区。
用于存储数据的容器
特点:
1 长度是可变的。
2 可以存储不同类型的数据
4 可以对字符串进行修改
3 最终要转成字符串使用
* 具备的功能:
* 1 添加:
* StringBuffer append(date);
* StringBuffer insert(offset,date)
public static void main(String[] args) {
bufferMethodDemo_1();
}
public static void bufferMethodDemo_1() {
StringBuffer sb = new StringBuffer("abce");
sb.insert(2, "qq");
//sb.append("xixi");
System.out.println(sb.toString());
}
public static void bufferMethodDemo(){
//创建缓冲区对象。
StringBuffer sb = new StringBuffer();
sb.append(4).append(false).append("haha");
sb.insert(1,true);
System.out.println(sb);
}
}
3 最终要转成字符串使用
* 2 删除:
StringBuffer delete(start,end)
StringBuffer deleteCharAt(int index) 删除指定位置的元素
3 查找:
* char charAT(index)
* int indexOf(string)
* int lastIndexOf(string)
4 修改
* StringBuffer replace(int start,int end,String str)
* void setCharAT(int index,char ch)
* 增删改查 CURD
5 setLength(number) 设置长度
6 //清空缓冲区
sb.delete(0, sb.length());
7 reverse() 反转
jdk1.5以后出现了功能和StringBuffer一模一样的对象StringBuilder
不同的是:
StringBuffer是线程同步的 通常用于多线程
StringBuilder是线程不同步的 通常用于单线程,它的出现是提高效率。
练习:
将一个int数组变为字符串
public class StringBuilderDemo {
public static void main(String[] args) {
int[] arr = {3,1,5,3,8};
String s = arrToString_2(arr);
System.out.println(s);
}
public static String arrToString_2(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]+",");
else
sb.append(arr[i]+"]");
}
return sb.toString();
}
public static String arrToString(int[] arr)
{
String str = "[";
for(int i = 0;i<arr.length;i++){
if(i!=arr.length-1)
str+=arr[i]+",";
else
str+=arr[i]+"]";
}
return str;
}
}