StringBuffer:
就是字符串缓冲区,用于存储数据的容器
特点:
1.长度可变
2.可以存储不同类型的数据
3.最终要转成字符串进行使用
4.可以对字符串进行修改
具备的功能:
1.添加:
StringBuffer append(data);
StringBuffer insert(index,data);
//创建缓冲区对象
StringBuffer sb=new StringBuffer();
StringBuffer s1=sb.append(4).append(false).append("haha");
sb.insert(1,"qwe");
System.out.println(sb==s1);
System.out.println(sb);
2.删除:
StringBuffer delete(int start,int end);包含头,不包含尾
StringBuffer deleteCharAt(int index);删除指定位置元素
StringBuffer sb=new StringBuffer("abce");
sb.delete(0,sb.length());//清空缓冲区
sb.deleteCharAt(2);
System.out.println(sb.toString());
3.查找:
char charAt(index);
int indexOf(string);
int lastIndexOf(string);
4.修改:
StringBuffer replace(start,end,string);
void setCharAt(index,char);
StringBuffer sb=new StringBuffer("abce");
sb.replace(2,3,"nab");//包含头不包含尾
sb.setCharAt(2,'q');
System.out.println(sb.toString());
其他方法
setLength(int newLength);设置缓冲区长度
reverse();反转
sb.setLength(2);
System.out.println(sb.reverse());
StringBuffer();构造一个不带字符串的缓冲区,初始容量为16个字符(
new了一个StringBuffer,就是相当于一个长度为16的数组,如果装入第个字17符怎么办呢?首先一点,数组必须是固定长度的。
如果输入的字符变多,系统会将原有的长度变长,一般会增加一倍。如何将原有的字符串导入新的字符串缓冲区中呢?采用遍历的方法(遍历没有理解深刻)。多出来的字符就输入增加的后半段中,这就叫做可变长度数组原理。
)