`
jspine
  • 浏览: 101692 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

你留意StringBuilder与StringBuffer的区别了吗?

    博客分类:
  • java
阅读更多

你留意StringBuilder与StringBuffer的区别了吗?
这两个字符串类,估计出现在我面前有一两年之久了,但我一直没去关心两者的区别。曾经以为StringBuilder是StringBuffer的早期版本,但事情真是这样的吗?先其他不说,上个实例:

package com.test.strtest;

public class StrMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		System.out.println();
		
		StringBuilder testB = new StringBuilder();
		long curTime = System.currentTimeMillis();
		for (int i = 0, len = 100000; i < len; i++) {
			testB.append("StringBuilder");
		}
		System.out.println((System.currentTimeMillis() - curTime) + "毫秒");

		StringBuffer testBu = new StringBuffer();
		curTime = System.currentTimeMillis();
		for (int i = 0, len = 100000; i < len; i++) {
			testBu.append("StringBuffer");
		}

		System.out.println((System.currentTimeMillis() - curTime) + "毫秒");
	}

}
 



结果:
15毫
31毫
从上面一个简单的例子中我们会很明白的看出,StringBuilder会比StringBuffer快出一倍还多。
The addition of a new class StringBuilder  that works essentially as an unsynchronized StringBuffer for performance enhancement. You should replace all StringBuffer uses with StringBuilder unless you need the synchronization (which you almost certainly don't). StringBuilder is almost always faster than StringBuffer。
这是从管方网站上摘录的一段话,大致意思:“StringBuilder是在j2se 1.5中新加的一个类,与StringBuffer相比他不是线程安全的,StringBuffer是线程安全的,但StringBuilder要比StringBuffer要快。”


0
0
分享到:
评论
1 楼 yangfuchao418 2010-04-30  
呵呵 楼主应该至少快50背的

相关推荐

Global site tag (gtag.js) - Google Analytics