String(+) vs StringBuffer(append)

 以前一直以为append比+快,今天上网查了资料才发现:这种说法是不全面的.

正确的说法应该是:

  1.在运行期做字符串连接,那么append 显然比+快很多

 2.在编译期就可以做连接的话,那么使用+要比append快.

例子:

String temp="nnnnnnn"+"jjjjjj"+"jjjjj";(1)

StringBuffer t=new StringBuffer();

t.append("nnnnnnn").append("jjjjjj").append("jjjjjj");(2)

执行的话,上面(1)比(2)快,因为(1)在编译期就已经做好了,相当于String temp="nnnnnnnjjjjjjjjjjjj";而(2)则需要在运行期中做计算,所以比(1)慢.

真牛,呵呵.

posted @ 2007-03-30 19:43  lovingprince  阅读(234)  评论(0编辑  收藏  举报