StringBuffer就是字符串缓冲区,用于存储数据的容器。
特点:
1、长度是可变的。
2、可以存储不同类型数据。
3、最终要转成字符串进行使用。
4、可以对字符串进行修改。
容器的功能:
1、添加:
StringBuffer append(data); data表示数据,可以是int,double,String,char,boolean等等,有多个重载
StringBuffer insert(index, date);
<span style="font-size:14px;"> private static void stringBufferMethod1()
{
StringBuffer strBuf = new StringBuffer();
strBuf.append("abc");
System.out.println(strBuf);//abc
strBuf.insert(1, "de");
System.out.println(strBuf);//adebc
}</span>
2、删除:
StringBuffer delete(int start, int end); 包含头,不包含尾
StringBuffer deleteCharAt(int index); 删除指定位置的元素
private static void stringBufferMethod2()
{
StringBuffer strBuf = new StringBuffer("qwertyuio");
System.out.println(strBuf);//qwertyuio
strBuf.deleteCharAt(2);
System.out.println(strBuf);//qwrtyuio
strBuf.delete(3, 6);
System.out.println(strBuf);//qwrio
}
3、查找:
char charAt(int index);
int indexOf(String str);
int lastIndexOf(String str);
private static void stringBufferMethod3()
{
StringBuffer strBuf = new StringBuffer("asdfg");
System.out.println(strBuf.charAt(2));//d
System.out.println(strBuf.indexOf("df"));//2
System.out.println(strBuf.lastIndexOf("fg"));//3
}
4、修改
StringBuffer replace(int start, int end, String str);
void setChatAt(int index, char ch);
private static void stringBufferMethod4()
{
StringBuffer strBuf = new StringBuffer("cvbnm");
System.out.println(strBuf);//cvbnm
strBuf.replace(1, 3, "ay");
System.out.println(strBuf);//caynm
strBuf.setCharAt(4, 'p');
System.out.println(strBuf);//caynp
}
在jdk1.5以后出现了功能和StringBuffer一模一样的对象,就是StringBuilder
不同的是:
1、StringBuffer是线程同步的。通常用于对线程
2、StringBuilder是线程不同步的。通常用于单线程,它的出现提高效率。