String的+操作(如"a"+"b")在什么情况下不比StringBuffer的append操作效率低
这个问题确实头疼,找不到答案,放在论坛上讨论一下吧
String c="a" + "b";//编译优化成String="ab" 比StringBuffer高
直接String c= a+b;//编译成String c=new StringBuilder(a).append(b).toString() 比StringBuffer高
string和stringbuffer在少量字符串操作时,其效率是差不多的,只是在处理大量的字符串拼接时,stringBuffer的效率就比string的高了
从jdk5.0开始,String进行字符串连接的速度,已经不比StringBuffer慢了
给你推荐篇文章看下哈:
从java汇编来看java程序优化,里面有对String和StringBuffer的讲解
[url]http://billyean.spaces.live.com/blog/cns!E1A636639DF3CEC8!147.entry?fl=cat[/url]