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

String、StringBuffer、StringBuilder比较

2014-07-25 13:10 309 查看
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)

执行速度:StringBuilder > StringBuffer > String

例子:

public class StringCompare {
final static int time = 50000; //循环次数

public StringCompare(){

}
public void test(String string){
long begin = System.currentTimeMillis();
for(int i=0; i<time; i++){
string += "jd";
}
long over = System.currentTimeMillis();
System.out.println("操作"+string.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");
}
public void test(StringBuffer stringBuffer){
long begin = System.currentTimeMillis();
for(int i=0; i<time; i++){
stringBuffer.append("jd");
}
long over = System.currentTimeMillis();
System.out.println("操作"+stringBuffer.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");
}
public void test(StringBuilder stringBuilder){
long begin = System.currentTimeMillis();
for(int i=0; i<time; i++){
stringBuilder.append("jd");
}
long over = System.currentTimeMillis();
System.out.println("操作"+stringBuilder.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");
}
public static void main(String[] args){
String string = "abcd";
StringBuffer stringBuffer = new StringBuffer("abcd");
StringBuilder stringBuilder = new StringBuilder("abcd");
StringCompare stringCompare = new StringCompare();
stringCompare.test(string);
stringCompare.test(stringBuffer);
stringCompare.test(stringBuilder);
}
}


执行结果:

操作java.lang.String类型使用的时间为:1604毫秒
操作java.lang.StringBuffer类型使用的时间为:7毫秒
操作java.lang.StringBuilder类型使用的时间为:3毫秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: