6,StringBuffer的测试
public class TestStringBuffer {
//创建一个StringBuffer字符串缓存区
static StringBuffer str = new StringBuffer();
public static void main(String []args){
6-1,append()将参数的字符串表示形式追加到此序列
str.append("I");
str.append(" ");
str.append("LOVE");
str.append("YOU");
6-2,insert()向str的指定的下标处开始添加数据
str.insert(1, "And You");
6-3,toString()将str中的字符串给s,并打印出来
String s = str.toString();
System.out.println(s);
6-4,capacity()返回当前的容量
int len = str.capacity();
6-5,delete()移除指定的字符串中字符
第一个参数:从哪开始,第二个参数:到哪结束,不包括在内
str.delete(1, 4);
6-7,deleteCharAt()删除指定下标的字符
str.deleteCharAt(0);
//返回字符串的长度
len =str.length();
6-8,replace()替换指定的字符
从第一个参数开始到第二个参数结束,不包括第二个参数
str.replace(1, 5, "aaaa");
6-9,reverse()反转
str.reverse();
//设置指定位置的值
str.setCharAt(0,'I');
6-10,capacity()尝试减少用于字符序列的存储空间,缩减到已用的位置
System.out.println(str.capacity());
str.trimToSize();
System.out.println(str.capacity());
//测试String 和Stringbuffer的效率
String str = "";
获取系统时间
long star = System.currentTimeMillis();
for(int i =0;i<50000;i++){
str+=i;
}
long end = System.currentTimeMillis();
System.out.println("Sring**********:"+(end-star));
StringBuffer sub = new StringBuffer();
long star01 = System.currentTimeMillis();
for(int j =0;j<50000;j++){
sub.append(j);
}
long end01 = System.currentTimeMillis();
System.out.println("StringBuffer**********:"+(end01-star01)
7,StringBuffer方法
7-1添加
Stringbuffer append(data)--object
StringBuffer insert(index,data)
7-2删除
Stringbuffer delete(start,end)--含头不含尾
Stringbuffer deleteCharAt(index)--删除指定
7-3查找
Char charAt(index)
Int indexOf(String)--第一次出现的索引
Int LastIndexOf(String) --最后一次出现的索引
7-4修改
Stringbuffer replace(start,end,String)
Void setCharAt(index,char)--设置index处为char