String和StringBuffer的效率比较
mldxs 2008-11-12 10:11:10 例一:
(1)String result = "hello" + "world" ;
(2)StringBuffer result = new String().append("hello".append("world")) ;
(1)的效率好于(2) , 不要奇怪,这是因为JVM会做如下处理。
1、将result字符串做"hello"+"world"处理,然后才赋给result,只开辟了一次内存段
2、编译StringBuffer后还要做append处理,化的时间要长一些。
例二:
(1)public String getString(String s1 , String s2)
{
return s1+s2 ;
}
(2)public String getString(String s1 , String s2)
{
return new StringBuffer().append(s1).append(s2) ;
}
(1)的效率与(2)一样,这是因为JVM会做如下处理。开辟一个内存段再合并(扩展)内存,所以两者之星的过程是一直的,效率相当。
关于String和Stringbuffer的东西大家一起总结啊 !