StringBuffer是字符缓冲区。
是一个容器。
特点:
1,而且长度是可变化的
2,可以直接操作多个数据类型
3,最终会通过toString方法编程字符串
1,存储 对应下面代码中的method_add()方法
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):可以将数据插入到指定index位置。
2,删除 对应下面代码中的 method_del()方法
StringBuffer delete(start,end):删除缓冲区数据,包含start,不包含end
StringBuffer deleteCharAt(index):删除指定位置的字符。
3,获取 对应下面代码中的method_get()方法
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4,修改 对应下面代码中的method_replace()方法
StingBuffer replace(start,end,string);
void setCharAt(int index,char ch);
5,反转 对应下面代码中的method_reverse()方法
StingBuffer reverse();
6, 对应下面代码中的method_save()方法
将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
JDK1.5 版本之后出现了StringBuilder。
StringBuffer是线程同步。
是一个容器。
特点:
1,而且长度是可变化的
2,可以直接操作多个数据类型
3,最终会通过toString方法编程字符串
1,存储 对应下面代码中的method_add()方法
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):可以将数据插入到指定index位置。
2,删除 对应下面代码中的 method_del()方法
StringBuffer delete(start,end):删除缓冲区数据,包含start,不包含end
StringBuffer deleteCharAt(index):删除指定位置的字符。
3,获取 对应下面代码中的method_get()方法
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4,修改 对应下面代码中的method_replace()方法
StingBuffer replace(start,end,string);
void setCharAt(int index,char ch);
5,反转 对应下面代码中的method_reverse()方法
StingBuffer reverse();
6, 对应下面代码中的method_save()方法
将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
JDK1.5 版本之后出现了StringBuilder。
StringBuffer是线程同步。
StringBuilder是线程不同步。
public class StringBufferDemo {
public static void method_add(){
StringBuffer sb=new StringBuffer();
sb.append("abcdfer").append(false).append(34);
sop(sb.toString());
sb.insert(2, 'g');
sop(sb.toString());
}
public static void method_del(){
StringBuffer sb=new StringBuffer("asdkweuinuiwrcby");
sb.delete(3, 8);
sop(sb.toString());
sb.deleteCharAt(2);
sop(sb.toString());
//删除全部元素
//sb.delete(0, sb.length());
}
public static void method_get(){
StringBuffer sb=new StringBuffer("asdkwfefdkw");
sop(sb.charAt(0));
sop(sb.indexOf("dkw"));
sop(sb.lastIndexOf("kw"));
sop(sb.length());
}
public static void method_replace(){
StringBuffer sb=new StringBuffer("asdkwf");
sop(sb.replace(1, 4, "qqqqq"));
sb.setCharAt(1,'w');
sop(sb);
}
public static void method_reverse(){
StringBuffer sb=new StringBuffer("asdkwf");
sop(sb.reverse());
}
public static void method_save(){
StringBuffer sb=new StringBuffer("asdkwf");
char[] chs=new char[8];
sb.getChars(1, 4, chs, 1);
for(int i=0;i
运行结果如下: 方法 method_add() 结果:
abcdferfalse34
abgcdferfalse34
方法 method_del() 结果:
asdnuiwrcby
asnuiwrcby
方法 method_get() 结果:
a
2
9
11
方法 method_replace() 结果:
aqqqqqwf
awqqqqwf
方法 method_reverse() 结果:
fwkdsa
方法 method_save() 结果:(上面一个空格,下面4个空格)
s
d
k