第51条:当心字符串连接的性能

来源:互联网 发布:windows nt 4.9 编辑:程序博客网 时间:2024/06/05 18:26

如果多个字符串连接,使用StringBuilder,String是final的,不可变的,两个字符串被连接在一起时,他们的内容都要被拷贝。

所以记住,多个字符串相加,使用StringBuilder就是了。

 

 

         public staticvoid main(String[] args) {

                   String test= "a";

                   long start= System.currentTimeMillis();

                   for(inti = 0; i < 10000; i++){

                            test+= "a";

                   }

                   long end= System.currentTimeMillis();

                   System.out.println("字符串相加用时:"+ (end -start));

                  

                   StringBuildersb = new StringBuilder("a");

                   start =System.currentTimeMillis();

                   for(inti = 0; i < 10000; i++){

                            sb.append("a");

                   }

                   end =System.currentTimeMillis();

                   System.out.println("StringBuilder用时:" + (end-start));

                  

         }

 

打印的结果是:

字符串相加用时:93

StringBuilder用时:1

0 0
原创粉丝点击