【Stackoverflow好问题】StringBuilder和StringBuffer对比
2014-10-13 11:41
337 查看
问题
StringBuilder和StringBuffer有哪些区别呢?
精华回答
最主要的区别,StringBuffer的实现使用了synchronized(锁),而StringBuilder没有。
因此,StringBuilder会比StringBuffer快。
如果你
非常非常追求性能(其实这两个都不慢,比直接操作String,要快非常多了)
不需要考虑线程安全问题,
JRE是1.5+
可以用StringBuilder,
反之,请用StringBuffer。
性能测试例子:
如下这个例子,使用StringBuffer,耗时2241ms,而StringBuilder是753ms
stackoverflow讨论原址 http://stackoverflow.com/questions/355089/stringbuilder-and-stringbuffer
专栏介绍:
非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。偶然发现该网站有一个热度榜单。于是精选了热度较高的一些问题,阅读每个问题的答案,然后按照自己的理解梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删和个人风格的润色,希望能把上面的讨论,更精简有效地分享给大家。
如需转载,请注明原文地址
http://blog.csdn.net/lizeyang
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/355089/stringbuilder-and-stringbuffer
专栏介绍:
非常喜欢stackoverflow,总能在上面找到疑难杂症的解决办法。偶然发现该网站有一个热度榜单。于是精选了热度较高的一些问题,阅读每个问题的答案,然后按照自己的理解梳理出来。因此,这些文章不是真正的翻译,而是按照自己的理解做了一些增删和个人风格的润色,希望能把上面的讨论,更精简有效地分享给大家。
如需转载,请注明原文地址
http://blog.csdn.net/lizeyang
相关文章推荐
- 拼接字符串的效率问题(String,StringBuffer,StringBuilder对比)
- String、StringBuilder、StringBuffer 对比
- String,StringBuilder,StringBuffer的对比测试
- Java中String、StringBuffer、StringBuilder的区别及面试经常出现的问题
- Java中String、StringBuffer、StringBuilder的区别及面试经常出现的问题
- String ,StringBuffer ,StringBuilder问题
- StringBuffer和StringBuilder编程遇到的问题
- String StringBuilder StringBuffer 对比 总结得非常好
- Java中的String、StringBuilder、StringBuffer对比
- 对比StringBuffer和StringBuilder
- StringBuilder 对比StringBuffer
- [每日一题]对比Java中的String、StringBuffer、StringBuilder
- String、StringBuffer和StringBuilder的性能对比
- java中String,StringBuffer,StringBuilder拼接效率对比
- String、StringBuffer、StringBuilder对比
- String,StringBuffer和StringBuilder三者的介绍,对比及用法
- Stringbuffer与Stringbuilder源码学习和对比
- Android:Logcat下String、StringBuffer和StringBuilder的长度显示问题
- String, StringBuilder, StringBuffer问题
- String StringBuilder StringBuffer 对比 总结得非常好