String、StringBuffer、StringBuilder比较

String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)

执行速度:StringBuilder > StringBuffer > String 

 

例子:

 1 public class StringCompare {
 2     final static int time = 50000; //循环次数 
 3 
 4     public StringCompare(){
 5 
 6     }
 7     public void test(String string){
 8         long begin = System.currentTimeMillis();
 9         for(int i=0; i<time; i++){
10             string += "jd";
11         }
12         long over = System.currentTimeMillis();
13         System.out.println("操作"+string.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");
14     }
15     public void test(StringBuffer stringBuffer){
16         long begin = System.currentTimeMillis();
17         for(int i=0; i<time; i++){
18             stringBuffer.append("jd");
19         }
20         long over = System.currentTimeMillis();
21         System.out.println("操作"+stringBuffer.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");
22     }
23     public void test(StringBuilder stringBuilder){
24         long begin = System.currentTimeMillis();
25         for(int i=0; i<time; i++){
26             stringBuilder.append("jd");
27         }
28         long over = System.currentTimeMillis();
29         System.out.println("操作"+stringBuilder.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");
30     }
31     public static void main(String[] args){
32         String string = "abcd";
33         StringBuffer stringBuffer = new StringBuffer("abcd");
34         StringBuilder stringBuilder = new StringBuilder("abcd");
35         StringCompare stringCompare = new StringCompare();
36         stringCompare.test(string);
37         stringCompare.test(stringBuffer);
38         stringCompare.test(stringBuilder);
39     }
40 } 

执行结果:

1 操作java.lang.String类型使用的时间为:1604毫秒
2 操作java.lang.StringBuffer类型使用的时间为:7毫秒
3 操作java.lang.StringBuilder类型使用的时间为:3毫秒

转载于:https://www.cnblogs.com/leistrong/p/3867787.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值