天天看点

Java源码___StringBuffer类(一)

 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{
           

继承关系:

Java源码___StringBuffer类(一)

这个类的属性有:pulic公有的、final不可修改的。

继承

AbstractStringBuilder

类,提供了修改缓存区容量和字符的方法。

实现Serializable接口:实现序列化接口。

实现CharSequence接口:该接口中有包含一些操作char字符的方法。

2.常量和变量介绍

 这是该字符缓冲类中的变量介绍。

//transient:用transient关键字标记的成员变量不参与序列化过程
private transient char[] toStringCache;

static final long serialVersionUID = L;
           

3.构造器方法

 这是StringBuffer类的构造方法。

//无参构造方法,默认是缓存容量大小为16
public StringBuffer(){
    super();
}

//创建指定容量的StringBuffer类
public StringBuffer(int capacity){
    super(capacity);
}

//创建一个容量为str长度+16长度的字符缓存类。其缓存字符存放的是str的字符
pulic StringBuffer(String str){
    super(str.length()+);
    append(str);
}

public StringBuffer(CharSequence seq){
    this(seq.length()+);
    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。

继续阅读