StringBuffer类是线程安全的可变序列。是一个类似于String的字符串缓冲区,但不能修改(可以通过某些方法调用改变该序列的长度和内容)。
可将字符串缓冲区安全地用于多个线程,可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer类名:java.lang.StringBuffer
该类继承的类(父类):java.lang.AbstractStringBuilder(Object为所有类的顶级父类,默认继承)
父类实现的接口:Appendable,CharSequence
该类实现的接口:Serializable,CharSequence
实现版本:JDK1.0开始
定义:
public final class StringBuffer extends AbstractStringBuilder implements Serializable,CharSequence{
.....
}
父类AbstractStringBuilder的定义:
public class AbstractStringBuilder implements Appendable,CharSequence{
......
}
类StringBuffer中定义的数据成员:
类StringBuffer中常用的成员方法:
0.构造函数详情见API文档
1.append(Object obj):StringBuffer-StringBuffer(追加Object参数的字符串表示形式,追加到该序列上[更多重载方法见API文档])
@Override
public synchronized StringBuffer append(Object obj) {
toStringCache = null;
super.append(String.valueOf(obj));
return this;
}
该append(...)方法继承至其父类,其父类的该方法是实现了接口Appendable的
Appendable接口[版本从1.5开始]中定义的方法只有append(...),只是将该方法进行了重载,全部方法如下:
Appendable append(CharSequence csq) throws IOException;
Appendable append(CharSequence csq, int start, int end) throws IOException;
Appendable append(char c) throws IOException
2.delete(int start,int end):StringBuffer-StringBuffer(移除此序列的子字符串中的字符,参数为索引值)
@Override
public synchronized StringBuffer delete(int start, int end) {
toStringCache = null;
super.delete(start, end);
return this;
}
3.insert(int offset,Object obj):StringBuffer-StringBuffer(将Object参数的字符串表示形似插入此字符序列中)
@Override
public synchronized StringBuffer insert(int offset, Object obj) {
toStringCache = null;
super.insert(offset, String.valueOf(obj));
return this;
}
4.reverse():StringBuffer-StringBuffer(将此字符序列用其反转形式取代)
@Override
public synchronized StringBuffer reverse() {
toStringCache = null;
super.reverse();
return this;
}
注:文章全部内容是作者的学习经验总结,如果有不完美的地方,还请联系编者修改,亦或是你的疑惑编者在此处并未涉及到,也可以联系编者进行解答,完善。在此也欢迎更多的你加入我们。
加入我们,或是帮助我们改进,请扫: