java中StringBuilder清空效率比较

都知道如果多个字符串拼接的话,用StringBuilder.append会比str+=""效率高很多

因为不用创建string对象和数组拷贝,

在jdk1.5中测试了3中方法清空builder

package com.jb.efile.model;

import java.io.IOException;

public class Test {
	private static long time;
	public static void main(String[] args) throws IOException {
		StringBuilder builder = new StringBuilder();
		time = System.currentTimeMillis();
		for(int i=0;i<10000000;i++){
			builder = new StringBuilder();
			builder.append("aa");
			builder.append("bb");
			builder.append("cc");
			builder.append("dd");
			builder.append("ee");
		}
		System.out.println("new 耗时:" + (System.currentTimeMillis() - time));
		for(int i=0;i<10000000;i++){
			builder.delete(0, builder.length());
			builder.append("a");
			builder.append("b");
			builder.append("c");
			builder.append("d");
			builder.append("e");
		}
		System.out.println("delete 耗时:" + (System.currentTimeMillis() - time));
		for(int i=0;i<10000000;i++){
			builder.setLength(0);
			builder.append("1a");
			builder.append("1b");
			builder.append("1c");
			builder.append("1d");
			builder.append("1e");
		}
		System.out.println("setLenth=0 耗时:" + (System.currentTimeMillis() - time));
	}
}
输出:

new 耗时:1146
delete 耗时:2268
setLenth=0 耗时:3371

所以本人测试时new效率会高,但是网上很多人测试说delete效率高,希望大家拷贝代码到自己的环境中亲子测试下

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值