第51条:当心字符串连接的性能

如果多个字符串连接,使用StringBuilder,String是final的,不可变的,两个字符串被连接在一起时,他们的内容都要被拷贝。

所以记住,多个字符串相加,使用StringBuilder就是了。

 

 

         public staticvoid main(String[] args) {

                   String test= "a";

                   long start= System.currentTimeMillis();

                   for(inti = 0; i < 10000; i++){

                            test+= "a";

                   }

                   long end= System.currentTimeMillis();

                   System.out.println("字符串相加用时:"+ (end -start));

                  

                   StringBuildersb = new StringBuilder("a");

                   start =System.currentTimeMillis();

                   for(inti = 0; i < 10000; i++){

                            sb.append("a");

                   }

                   end =System.currentTimeMillis();

                   System.out.println("StringBuilder用时:" + (end-start));

                  

         }

 

打印的结果是:

字符串相加用时:93

StringBuilder用时:1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值