Java常用类:StringBuilder
2015-08-02 19:11
423 查看
一、介绍StringBuilder是一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)StringBuilder类可以用于在无需创建一个新的字符串对象情况下修改字符串。StringBuilder不是线程安全的,而StringBuffer是线程安全的。但StringBuilder在单线程中的性能比StringBuffer高。StringBuilder类来源于jdk1.5及以后的版本
常用方法:
1、append(); //追加到末尾
2、insert(int offset,String str) ; //在指定的索引处插入字符串
3、delete(int startIndex,int endIndex) //删除区域索引[startIndex,endIndex)的字符
4、reverse() //反转
StringBuilder的孪生兄弟StringBuffer,因为它们有一个相同的父类AbstractStringBuilder
二、源码解析
AbstractStringBuilder类是一个抽象类,有两个子类:StringBuffer和StringBuilder
AbstractStringBuilder类中有两个属性,分别是
StringBuilder重载了很多append方法
查看源码发现,所有的append方法里最后都有一句return this,有什么作用呢?
return this的作用就是使调用成一个方法链,可以一直调用append。
三、总结
1、StringBuilder和StringBuffer都是继承了AbstractStringBuilder这个抽象类
2、StringBuilder同样是final修饰的,不可改变。跟String很多类似的地方
3、StringBuilder线程不安全,单线程效率高(比较常用)
4、StringBuilder创建对象个数问题:
来自为知笔记(Wiz)
常用方法:
1、append(); //追加到末尾
2、insert(int offset,String str) ; //在指定的索引处插入字符串
3、delete(int startIndex,int endIndex) //删除区域索引[startIndex,endIndex)的字符
4、reverse() //反转
StringBuilder的孪生兄弟StringBuffer,因为它们有一个相同的父类AbstractStringBuilder
二、源码解析
AbstractStringBuilder类中有两个属性,分别是
char
value[];
//值、
int
count;
//长度。所以,StringBuilder里是直接可以用的。
查看源码发现,所有的append方法里最后都有一句return this,有什么作用呢?
三、总结
1、StringBuilder和StringBuffer都是继承了AbstractStringBuilder这个抽象类
2、StringBuilder同样是final修饰的,不可改变。跟String很多类似的地方
3、StringBuilder线程不安全,单线程效率高(比较常用)
4、StringBuilder创建对象个数问题:
相关文章推荐
- UITableView
- 【CF 566F】 Clique in the Divisibility Graph
- IOS开发-UITextField代理常用的方法总结
- Java Enum 类 的 values()方法 api没有,实例是怎么调用详解
- IOS开发-UIBarButtonItem系统自带图标总结
- UITextField 禁用复制粘贴功能
- HDU 2062 Subset sequence
- 自定义普通文本TableView header footer 视图
- [leetcode 96]Unique Binary Search Trees
- NGUI-实例化问题
- Rogue BoardManager 自动成成内外墙 和食物 敌人
- AXIS-web.xml里配置axis报错addChild: Child name 'AxisServlet' is not unique 解决办法
- UCGUI Deom程序使用vs2010编译提示找不到libc.lib
- EasyUi 日历组件 datebox 开始时间与结束时间限制高级版
- 跳跃表基础——POJ 3481 Double Queue
- CF_26B_RegularBracketSequence
- iOS阶段学习第31天笔记(UINavigationBar介绍)
- EasyUi 进度条组件 ProgressBar 根据实时进度更改进度条颜色
- 自定义TabBar时 去掉TabBar 边缘横线
- Wavio Sequence