性能总结:不考虑线程安全前提下操作字符串:StringBuild性能最高,StringBuffer次之,String比较差.
StringBuffer和StringBuild在操作字符方面没有区别。唯一的区别是StringBuffer 是线程安全的,StringBuilder 为非线程安全的。
所以接下来我们就不单独讨论StringBuild。
字符操作方面区别:
String 对象是不可改变的。每次对String修改或赋值的时,都要在内存中创建一个新的字符串对象。在需要对字符串执行重复修改的情况下,创建新的 String 对象相关的系统开销可能会非常昂贵。
StringBuffer在修改字符串时不会创建新的对象。例如,在需要对字符串执行重复修改(如:循环连接字符)的情况下,使用 StringBuilder 类可以提升性能。
比较函数方面区别:
String实现了equals和hashCode方法,所以,new String(“abc”).equals(new String(“abc”)的结果为true
StringBuffer没有实现equals和hashCode方法,所以,new StringBuffer(“abc”).equals(new StringBuffer(“abc”)的结果为false
注意:将StringBuffer对象存储进Java集合类中时会出现问题
性能方面详细比较:
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 100; i++) {
sb.append(i);
}
以上代码创建1个对象
String str = new String();
for (int i = 0; i < 100; i++) {
str = str + i;
}
以上代码创建101个对象
如果你不相信创建对象耗时,你可以试试创建1亿个对象比较执行时间试试。
比较时间用System.currentTimeMillis()方法,这里我就不给大家实测了。
分享到:
相关推荐
Gaddis - Starting Out With C++ From Control Structures through Obje...
linux在SecureCRT下如何配置jdk
WinSetupFromUSB是个功能非常强大的自启动U盘制作工具,可以完成WinXP/Vista/Win7的U盘安装,完成同盘多Windows安装源的U盘制作以及Linux启动安装等功能。今天我们先来看下用其如何制作WinXP安装U盘。...
西门子PLC使用profibus控制丹佛斯变频器的讲义
jquery imgareaselect + ajaxfileupload + struts2实现图片的异步上传裁剪
Ubuntu下Android源码修改,编译及运行launcher定制, doc文档
本人亲自呕心吐血整理出史上最全的Halcon算子中英...Segmentation,System,Tools,Tuple,XLD。 绝对物超所值啊。
采用数据库的方式实现Spring Security的remember-me功能 4. 获取登录用户信息
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC
目 录 一 使用Axis和XFire发布Web Service ......................................................................................... 2 1.1 准备工作.................................................
ArcView软件介绍
活动(Activity),转移(Transition),开始节点(startNode),结束节点(EndNode),同步器...
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC
RT5350是一款优秀的SOC芯片,在一块芯片上集成了CPU和WIFI,基于嵌入式linux,采用goahead作为web...
Automation Studio是一个完全整合的...Automation Studio 模拟 液压气动 PLC 顺序功能图SFC