提高字符串连接的效率

对于字符串连接,我们一般可以用“+”来实现。但是这样每次连接都产生一个实例,会在字符串中创建新的字符串对象。如果频繁对字符串进行修改,会增加系统开销。

而StringBuilder(API:一个可变的字符序列,有些书称为:字符串生成器)可以解决这个问题。

它有以下方法:append(),insert(),delete()……大家都可以查找API(J2SE5.0+)
以下将对这个类进行测试,看看是否比“+”有更高的效率。

先说下测试用到的方法:

append(args);追加字符序列。参数可以为int,boolean,char,String,double或者另一个字符串生成器

//以下对比两种追加字符方式的效率 class test5 { public static void main(String[] args) { long startTime = System.currentTimeMillis(); String str = ""; for(int i = 0; i < 10000; i++) str += i; long endTime = System.currentTimeMillis(); System.out.println("/nString方法消耗的时间是:"+(endTime-startTime)); long startTime2 = System.currentTimeMillis(); StringBuilder strb = new StringBuilder(""); //比String的+连接方法多执行9倍。这样才能看到时间,因为实在太快了=_=! for(int i = 0; i < 100000; i++) strb.append(i); long endTime2 = System.currentTimeMillis(); System.out.println("/nStringBuilder方法消耗的时间是:"+(endTime2-startTime2)); } }

看看执行效果:

虽然StringBuilder多执行了9倍,但花费的时间却比String少了2个数量级。

可想而知。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值