标签:style blog java color 使用 for re c
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毫秒
String、StringBuffer、StringBuilder比较,布布扣,bubuko.com
String、StringBuffer、StringBuilder比较
标签:style blog java color 使用 for re c
原文地址:http://www.cnblogs.com/leistrong/p/3867787.html