您的位置:首页 > 产品设计 > UI/UE

java中StringBuilder清空效率比较

2016-10-13 10:43 369 查看
都知道如果多个字符串拼接的话,用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效率高,希望大家拷贝代码到自己的环境中亲子测试下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: