目录
一、StringBuffer 的特点
二、StringBuffer 的构造方法
三、StringBuffer 的常用方法
四、代码
二、StringBuffer 的构造方法
三、StringBuffer 的常用方法
四、代码
四、代码
Java中处理字符串常用的三个类分别为:String、StringBuffer、StringBuilder
本文将对 StringBuffer 类进行简单的介绍。
一、StringBuffer 的特点
- StringBuffer 类的对象可被多次修改,且对 StringBuffer 对象本身操作;
- StringBuffer 类使用 synchronized 同步修饰方法,线程安全。
二、StringBuffer 的构造方法
- StringBuffer():构造一个没有字符的字符串缓冲区,初始容量为16字符;
- StringBuffer(String str):构造一个初始化为指定内容的字符串缓冲区;
- StringBuffer(int capacity):构造一个没有字符的字符串缓冲区和指定的初始容量;
- StringBuffer():构造一个没有字符的字符串缓冲区,初始容量为16字符;
- StringBuffer(String str):构造一个初始化为指定内容的字符串缓冲区;
- StringBuffer(int capacity):构造一个没有字符的字符串缓冲区和指定的初始容量;
代码实例1
// 构造一个没有字符的字符串缓冲区,初始容量为16
StringBuffer sb1 = new StringBuffer();
System.out.println(sb1.capacity()); // 16
System.out.println(sb1.length()); // 0
// 构造一个指定字符串的字符串缓冲区,容量 = 16(初始容量) + 字符串长度
StringBuffer sb2 = new StringBuffer("Java");
System.out.println(sb2.capacity()); // 20 = 16 + 4
System.out.println(sb2.length()); // 4
// 构造指定容量的字符串缓冲区
StringBuffer sb3 = new StringBuffer(12);
System.out.println(sb3.capacity()); // 12
System.out.println(sb3.length()); // 0
三、StringBuffer 的常用方法
- append(): 追加,在字符串末尾添加;
- delete():删除,删除指定索引处的字符;
- replace():替换,用指定的String中的字符替换子字符串中的String;
- reverse():反转;
- substring():截取返回一个新的 String,它包含此序列当前所包含的字符子序列
- insert():插入,指定位置插入字符串;
代码实例2
StringBuffer str1 = new StringBuffer("I love ");
// append(): 追加
System.out.println("append()前str1: " + str1); // I love
str1.append("Java!");
System.out.println("append()后str1: " + str1); // I love Java!
// delete(): 删除
System.out.println("delete()前str1: " + str1); // I love Java!
str1.delete(3, 5);
System.out.println("delete()后str1: " + str1); // I le Java!
// replace(): 替换
System.out.println("replace()前str1: " + str1); // I le Java!
str1.replace(1, 4, "*******");
System.out.println("replace()后str1: " + str1); // I******* Java!
// reverse(): 反转
System.out.println("reverse()前str1: " + str1); // I******* Java!
str1.reverse();
System.out.println("reverse()后str1: " + str1); // !avaJ *******I
// substring(): 截取
System.out.println("substring()前str1: " + str1); // !avaJ *******I
String str2 = str1.substring(3, 8);
System.out.println("substring()后str1: " + str2); // aJ **
// insert(): 插入
System.out.println("insert()前str1: " + str1); // !avaJ *******I
str1.insert(3, "hahaha");
System.out.println("insert()后str1: " + str1); // !avhahahaaJ *******I
输出结果2



