Java连加代码_Java,写在一行的连加,与写在多行连加的性能对比

public class stringBuliderDem {

public static void main(String[] args) {

long time=TestTime(50000);

long times=TestTimes(50000);

System.out.println(time+"PK"+times);

}

public static long TestTime(int Num){

String s="";

long time=System.currentTimeMillis();

for(int i=0;i

s+="A";

}

long time1=System.currentTimeMillis()-time;

return time1;

}

public static long TestTimes(int Num){

StringBuilder s=new StringBuilder();

long time=System.currentTimeMillis();

for(int i=0;i

s.append("A");

}

long time1=System.currentTimeMillis()-time;

return time1;

}

}

输出:1116PK2

备注:Java中大量进行多行连加时,用StringBuilder进行,程序效率比较高,如果明确知道运算后字符串的长度,可以new StringBulider(NUM)中指定长度,可进一步优化程序。

分析:

s5=s1+s2+s3;被JAVA优化成s5=new StringBulider(s1).append(s2).append(s3).toString.只需创建一次StringBuilder.

s5+=s1;s5+=s2;s5+=s3;被Java优化成s5=new StringBuilder(s5).append(s1);s5=new StringBulider(s5).append(s2);s5=new StringBuilder(s5).append(s3);每次运算都会创建StringBuilder,运算完成后,被系统回收,大量此类操作,运算效率比较低,代码中具体体现



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值