一、下表给出了他们之间的关系:
总结一下,StringBuffer与StringBuilder可以理解为可变的字符串类,而StringBuilder又是轻量级的StringBuffer,StringBuilder的优点是速度快,缺点是线程不安全。
二、使用方法
StringBuffer与StringBuilder的使用方法类似,这里以StringBuilder为例(在不考虑线程安全的时候,一般都使用StringBuilder),给出常见的方法:
1、构造方法
2、成员方法
- append(x):在末尾添加x,x可以是任意数据类型(字符、字符串、整型、布尔型…);
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
builder.append("PI:");
builder.append(3.14);
builder.append(true);
System.out.println(builder.toString()); //PI:3.14true
}
- insert(int offset, x) :在offset位置处添加任意类型的x;
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
builder.append("PI:");
builder.append(3.14);
builder.append(true);
builder.insert(1,'%');
System.out.println(builder.toString()); //P%I:3.14true
}
- delete(int start, int end) :删除区间内的元素,前闭后开;
- deleteCharAt(int index) :删除指定索引处的元素;
- charAt(int index) :返回指定索引处的字符;
- reverse() :翻转顺序;
- toString() :转化为对应的字符串。