[源码分析]StringBuilder
2018-08-06 09:00:36来源:博客园 阅读 ()
[源码分析]StringBuilder
StringBuilder是继承自AbstractStringBuilder的.
构造器
我每篇文章都说. 请忽略我的"My". 我copy了jdk的代码, 然后把StringBuilder改为了MyStringBuilder. 核心源码不会改动的.
无参构造器是默认的大小为16.
或者可以直接给定大小. 来规定初始化时的数组大小.
如果是根据传入字符串来构造的, 那么初始大小就是: 传入的字符串长度+16.
常用方法
可以看到, 下面这些方法, 都是直接调用了父类AbstractStringBuilder类的方法. 只是多加了一行return this.
append(重载有很多, 挑了一个):
insert(重载有很多, 挑了一个):
reverse:
toString方法
AbstractStringBuilder类里的toString方法是抽象方法, 所以具体实现在子类里.
总结
虽然很简单, 但还是总结一下吧.
1. 构造的大小和16相关. 要么是16, 要么就是加16.(除非使用了定制数组大小的那个构造器, 也就是 本文中截图的第二个构造器. 那么就是指定多大, 初始数组就是多大了.)
2. 实现了toString方法. 内部实现就是每次toString都是new一个String对象.
3. 其他方法都是调用的父类的方法. 只是多加了一行return this;
4. (为了和StringBuffer对比) , 明显StringBuilder线程不安全.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:【Java学习】单例模式
- 你说研究过Spring里面的源码,循环依赖你会么? 2020-06-09
- 通俗理解spring源码(六)—— 默认标签(import、alias、be 2020-06-07
- 数据结构:用实例分析ArrayList与LinkedList的读写性能 2020-06-04
- 学习源码的第八个月,我成了Spring的开源贡献者 2020-06-02
- 数据分析 | 数据可视化图表,BI工具构建逻辑 2020-06-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash