java.lang.StringBuffer类分析摘要:
<1>简介
<2>常量和变量
<3>构造器方法
<4>length()方法
<5>capacity()方法
<6>ensureCapacity(int minmumCapacity)
1.简介
类介绍:
StringBuffer类,它是一个具有字符缓冲区的类。它是一个易变的字符序列。实现可修改字符串,在任何时间点,他包含一些特定的字符序列,但是序列的长度和字符可以通过特殊的方法去修改。且如果往构造方法中丢入实参null的话,会抛出NullPointerException异常。
public final class StringBuffer extends AbstractStringBuilder i
mplements java.io.Serializable,CharSequence{
继承关系:
这个类的属性有:pulic公有的、final不可修改的。
继承AbstractStringBuilder
类,提供了修改缓存区容量和字符的方法。
实现Serializable接口:实现序列化接口。
实现CharSequence接口:该接口中有包含一些操作char字符的方法。
2.常量和变量介绍
这是该字符缓冲类中的变量介绍。
//transient:用transient关键字标记的成员变量不参与序列化过程
private transient char[] toStringCache;
static final long serialVersionUID = 3388685877147921107L;
3.构造器方法
这是StringBuffer类的构造方法。
//无参构造方法,默认是缓存容量大小为16
public StringBuffer(){
super(16);
}
//创建指定容量的StringBuffer类
public StringBuffer(int capacity){
super(capacity);
}
//创建一个容量为str长度+16长度的字符缓存类。其缓存字符存放的是str的字符
pulic StringBuffer(String str){
super(str.length()+16);
append(str);
}
public StringBuffer(CharSequence seq){
this(seq.length()+16);
append(seq);
}
这个方法是的属性有:public公有的。
参数:capacity int类型,指定StringBuffer的容量大小
异常:NullPointerException
异常说明:如果capacity传值为null,则会抛出此异常。
4.length()方法
该方法获取字符缓存区中字符的长度,方法与AbstractStringBuilder中的一样,就是多了一个同步而已。
//【重写AbstractStringBuilder中的length方法】
@Override
public synchronized int length(){
return count;
}
这个方法是的属性有:public公有、synchronized同步。
返回值:int类型
返回值说明:返回一个count,而count是记录该对象缓存字符的字符数。
5. capacity()方法
该方法会返回StingBuffer类的缓存区容量大小,方法与AbstractStringBuilder中的一样,就是多了一个同步而已。
//【重写自AbstractStringBuilder】
public synchronized int capacity(){
return value.length;
}
这个方法是的属性有:public公有、synchronized同步。
返回值:int 类型
返回值说明:返回该类的字符容量大小。
6. ensureCapacity(int minimumCapacity)
该方法是个会保证类的容量大小的方法,方法与AbstractStringBuilder中的一样,就是多了一个同步而已。
//【重写自AbstractStringBuilder类】
public synchronized void ensureCapacity(int minmumCapacity){
super.ensureCapacity(minmumCapacity);
}
这个方法是的属性有:public公有、synchronized同步的。
参数:minmumCapacity 最小容量
参数说明:int类型,最小容量数值。用于和该类的容量做比较。
方法说明:如果该类的容量大于minmumCapacity,则返回该对象。如果小于minmumCapacity,则创建一个新的容量。
方法注意:
<1>如果该类的容量大于minmumCapacity,则返回该对象。如果小于minmumCapacity,则创建一个新的容量。
<2>新建的容量为原来的两倍+2。