StringBuffer的使用

StringBuffer是字符串缓冲区,是一个容器,可以用于字符串的修改。

C create U update R read D delete

缓冲区的三个特点

1.长度是可变的。

2.可以字节操作多个数据类型。

3.最终会通过toString 方法变成字符串。

1. 存储

 StringBuffer append() //将制定数据作为参数添加到已有数据的结尾处。

 StringBUffer insert(index,str)//可以将数据插入制定index位置


2.删除


StringBuffer delete(start , end) ;//删除缓冲区中数据,包含头,不包含尾。

StringBuffer  deleteCharAt(index);// 删除指定位置上的字符。

3.获取

Char   charAt(int index);

int  length();

int  indexOf(String str);

String subString(int start,int end);

4.修改

StringBuffer replace(start , end ,String);

void  setCharAt(int index ,char ch);


5.反转

StringBuffer reverse();


6.将缓冲区之制定数据存储到制定数组中

void getChars(int start ,int end,char[]   ch,,int detBegin)

7.jdk a.5之后出现了StringBuilder

StringBuilder是线程不同步的。安全,多线程使用

StringBffer是线程同步的。不安全,单线程使用,提高了效率//建议使用

升级三个因素

1.提高效率

2.简化书写

3.提高安全性

例;

Class StringBufferDemo {

public static  void main(String[] args){

StringBuffer sbf  =  new StringBufferBuffer();

StringBuffer sbf1 = sbf.append(666);

sbf.append("abc").append(true).append(666);//方法调用链

sop("======" +(sbf1 == sbf));

sop(sbf.toString());

}


public static void sop(){

System.out.println(str);

}

public static void method_del(){

StringBUffer sb = new StringBuffer("abcde");

sb.delete(1,3);

//清空缓冲区

(1)sb = new StringBuffer();

(2)sb.delete(0,sb.length())

}

}

你可能感兴趣的:(java开发)