Stringbuilder和StringBuffer的区别
线程安全方面:具体看源码:
StringBuffer:
里面的方法都用synchronized修饰
StringBuilder:
效率问题:看Demo
结果:是StringBuffer更快
原因:虽然在拼接方面StringBuffer比StringBuilder慢,但是转String时却快
看toString源码:
StringBuffer中toString的源码:
StringBuilder中toString的源码:
比较可见:StringBuffer中toString加了缓存,导致StringBuffer的toString()执行速度将近快3.5倍
在效率方面的结论是效率值不是绝对的,但是虽然toString有不一样,但是这只是一个临界点,大部分情况下还是StringBuilder效率更高。