- public class test {
 - /**
 - * @param args
 - */
 - public static void main(String[] args) {
 - // TODO Auto-generated method stub
 - long n = 30000;
 - System.out.println("Start... "+n);
 - long start1 = System.currentTimeMillis();
 - String s1 = new String("hello");
 - for (long i = 0; i < n; i++)
 - {
 - s1+="拼接字符串的时间";
 - }
 - long end1 = System.currentTimeMillis();
 - long time1 = end1 -start1;
 - System.out.println("用String+=拼接字符串的时间"+time1);
 - long start2 = System.currentTimeMillis();
 - String s2 = new String("hello");
 - for (long i = 0; i < n; i++)
 - {
 - s2=s2+"拼接字符串的时间";
 - }
 - long end2 = System.currentTimeMillis();
 - long time2 = end2 -start2;
 - System.out.println("用String=String+拼接字符串的时间"+time2);
 - long start3 = System.currentTimeMillis();
 - String s3 = new String("hello");
 - for (long i = 0; i < n; i++)
 - {
 - s3=s3.concat("拼接字符串的时间");
 - }
 - long end3 = System.currentTimeMillis();
 - long time3 = end3 -start3;
 - System.out.println("用String.concat拼接字符串的时间"+time3);
 - long start4 = System.currentTimeMillis();
 - StringBuffer s4 = new StringBuffer("hello");
 - for (long i = 0; i < n; i++)
 - {
 - s4.append("拼接字符串的时间");
 - }
 - long end4 = System.currentTimeMillis();
 - long time4 = end4 -start4;
 - System.out.println("用StringBuffer.append拼接字符串的时间"+time4);
 - long start5 = System.currentTimeMillis();
 - StringBuilder s5 = new StringBuilder("hello");
 - for (long i = 0; i < n; i++)
 - {
 - s5.append("拼接字符串的时间");
 - }
 - long end5 = System.currentTimeMillis();
 - long time5 = end5 -start5;
 - System.out.println("用StringBuilder.append拼接字符串的时间"+time5);
 - System.out.println("End...");
 - }
 - }
 
贴出一组检测数据如下:
- 用String+=拼接字符串的时间27468
 - 用String=String+拼接字符串的时间25813
 - 用String.concat拼接字符串的时间12265
 - 用StringBuffer.append拼接字符串的时间14
 - 用StringBuilder.append拼接字符串的时间8
 
                    
                
                
            
        
浙公网安备 33010602011771号