StringBuffer(添加-删除-修改-查找)

构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。

特点:

1:可以对字符串内容进行修改。

2:是一个容器。

3:是可变长度的。

4:缓冲区中可以存储任意类型的数据。

5:最终需要变成字符串。

 

容器通常具备一些固定的方法:

1,添加。

StringBuffer append(data):在缓冲区中追加数据。追加到尾部。

[java]  view plain copy
  1. StringBuffer sb = new StringBuffer();  
  2.         sb.append("abc").append(true).append(12345);  
  3.         System.out.println(sb);  
  4.         //输出结果:abctrue12345  

StringBuffer insert(index,data):在指定位置插入数据。

[java]  view plain copy
  1. StringBuffer sb = new StringBuffer("abctrue12345");  
  2.         sb.insert(1"qq");  
  3.         System.out.println(sb);  
  4.         //输出结果:aqqbctrue12345  

2,删除。

StringBuffer delete(start,end);删除从start至end-1范围的元素

[java]  view plain copy
  1. StringBuffer sb = new StringBuffer("abcdefg");  
  2.         System.out.println(sb.toString());  
  3.         //输出结果:abcdefg  
  4.           
  5.         sb.delete(24);  
  6.         System.out.println(sb.toString());  
  7.         //输出结果:abefg  

StringBuffer deleteCharAt(index);删除指定位置的元素

[java]  view plain copy
  1. StringBuffer sb = new StringBuffer("abcdefg");  
  2.         System.out.println(sb.toString());  
  3.         //输出结果:abcdefg  
  4.           
  5.         sb.deleteCharAt(2);  
  6.         System.out.println(sb.toString());  
  7.         //输出结果:abdefg  

//sb.delete(0,sb.length());//清空缓冲区。

[java]  view plain copy
  1. sb.delete(0,sb.length());  

3,修改。

StringBuffer replace(start,end,string);将start至end-1替换成string

[java]  view plain copy
  1. StringBuffer sb = new StringBuffer("abcdef");  
  2.         sb.replace(02"1233333");  
  3.         System.out.println(sb.toString());  
  4.         //输出结果:1233333cdef  

void setCharAt(index,char);替换指定位置的字符

[java]  view plain copy
  1. sb.setCharAt(4,'t');  
  2.         System.out.println(sb.toString());  
  3.         //输出结果:1233t33cdef  

void setLength(len);将原字符串置为指定长度的字符串

[java]  view plain copy
  1. sb.setLength(4);  
  2.         System.out.println(sb.toString());  
  3.         //输出结果:1233  

4,查找。(查不到返回-1)

int indexOf(string); 返回指定子字符串在此字符串中第一次出现处的索引。

int indexOf(string,int fromIndex);从指定位置开始查找字符串

int lastIndexOf(string); 返回指定子字符串在此字符串中最右边出现处的索引。

int lastIndexOf(string,int fromIndex); 从指定的索引开始反向搜索

5,获取子串。

string substring(start); 返回start到结尾的子串

string substring(start,end); 返回start至end-1的子串

6,反转。

StringBuffer reverse();字符串反转


StringBuilder字符串缓冲区:★★★☆

tringBuffer 和 StringBuilder 的区别:

StringBuffer线程安全。

StringBuilder线程不安全。

 

单线程操作,使用StringBuilder 效率高。

多线程操作,使用StringBuffer 安全。

你可能感兴趣的:(java)