JDK源码阅读之三-----StringBuffer、StringBuilder(未完待续)

是不是每个java程序员在被面试或面试别人的时候都会问到StringBuffer和StringBulider的区别?

两者同属于java.lang包,都继承自AbstractStringBulider类(StringBulider和抽象类AbstractStringBulider都是jdk1.5才引入,StringBuffer是JDK1.0引入的,很神奇吧,StringBuffer继承了一个新的接口,是不是我眼镜看错了?不知道,望高手来给我点解答)


下面先介绍一下AbstractStringBulider接口,代码如下:

package java.lang;

import sun.misc.FloatingDecimal;
import java.util.Arrays;

/**
 * 一个可变的字符串.
 */
abstract class AbstractStringBuilder implements Appendable, CharSequence {
    // value用来存储字符
    char value[];

    // count是使用字符的数量
    int count;

    // 无参的构造方法对于子类的序列化很有必要
    AbstractStringBuilder() {
    }

    // 初始化容量
    AbstractStringBuilder(int capacity) {
        value = new char[capacity];
    }

    /**
     * Returns the length (character count).
     */
    public int length() {
	return count;
    }

    // 返回当前容量
    public int capacity() {
	return value.length;
    }

    
    public abstract String toString();

    /**
     * Needed by String for the contentEquals method.
     */
    final char[] getValue() {
        return value;
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值