AbstractStringBuilder 类
AbstractStringBuilder 类实现了Appendable和CharSequence。
先看一下Appendable,它是一个可用于追加的接口,jdk1.5出现的,这个接口在多线程情况下是线程不安全的,线程安全性由他的实现类来保证。这个接口的各个现有实现类具有不同错误处理风格,因此不能保证错误将传播到调用程序。
再看一下接口CharSequence,CharSequence是一组可读的字符值序列。该接口提供对许多不同类型的字符序列的统一只读访问。这个接口没有细化{@link java.lang.Object#equals(java.lang.Object) =}和{@link java.lang.Object#hashCode() hashCode}方法的一般契约。因此,比较实现CharSequence的两个对象的结果通常是未定义的。每个对象都可以由不同的类实现,并且不能保证每个类都能够测试它的实例与其他类的实例是否相等。因此,将任意CharSequence实例用作set集合中的元素或map映射中的键是不合适的。
看完这2个接口之后,我们回到AbstractStringBuilder 类。这个类有2个属性,字节数组value:用来储存字节。count:被使用的字节的数量。
这个类有2个构造方法,无参和有参的构造方法,有参构造方法,用于创建指定容量的AbstractStringBuilder。
看一下这个类的几个方法:
这个是扩容的方法,我比较好奇的是加2的意义。
再就是,这段代码在扩容,截取的时候都是很不错的,而且是native修饰的。
别的方法都很简单,然后看一下就差不多了,我就没做什么笔记。