码迷,mamicode.com
首页 > 其他好文 > 详细

【Stackoverflow好问题】StringBuilder和StringBuffer对比

时间:2014-10-13 13:55:59      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:stackoverflow问题精选   stringbuilder   stringbuffer   

问题
StringBuilder和StringBuffer有哪些区别呢?


精华回答
最主要的区别,StringBuffer的实现使用了synchronized(锁),而StringBuilder没有。
因此,StringBuilder会比StringBuffer快。
如果你
          非常非常追求性能(其实这两个都不慢,比直接操作String,要快非常多了)
          不需要考虑线程安全问题,
          JRE是1.5+
可以用StringBuilder,
反之,请用StringBuffer。

性能测试例子:
如下这个例子,使用StringBuffer,耗时2241ms,而StringBuilder是753ms
public class Main {
    public static void main(String[] args) {
        int N = 77777777;
        long t;

        {
            StringBuffer sb = new StringBuffer();
            t = System.currentTimeMillis();
            for (int i = N; i --> 0 ;) {
                sb.append("");
            }
            System.out.println(System.currentTimeMillis() - t);
        }

        {
            StringBuilder sb = new StringBuilder();
            t = System.currentTimeMillis();
            for (int i = N; i --> 0 ;) {
                sb.append("");
            }
            System.out.println(System.currentTimeMillis() - t);
        }
    }}



stackoverflow讨论原址
http://stackoverflow.com/questions/1066589/java-iterate-through-hashmap


专栏介绍:
非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。偶然发现该网站有一个热度榜单。于是精选了热度较高的一些问题,阅读每个问题的答案,然后按照自己的理解梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删和个人风格的润色,希望能把上面的讨论,更精简有效地分享给大家。
如需转载,请注明原文地址

【Stackoverflow好问题】StringBuilder和StringBuffer对比

标签:stackoverflow问题精选   stringbuilder   stringbuffer   

原文地址:http://blog.csdn.net/lizeyang/article/details/40042255

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!