AbstractStringBuilder类源码解析

AbstractStringBuilder 类java

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。ui

看一下这个类的几个方法:.net

这个是扩容的方法,我比较好奇的是加2的意义。线程

再就是,这段代码在扩容,截取的时候都是很不错的,并且是native修饰的。对象

别的方法都很简单,而后看一下就差很少了,我就没作什么笔记。blog

相关文章
相关标签/搜索