在性能强弱上:StringBuilder > StringBuffer > String
(1)为了获得更好的性能,在构造StringBuffer或StringBuilder时应尽可能指定它的容量。当然,如果操作的字符串长度不超过16个字符就不用了。
(2)相同情况下使用StringBuilder比使用StringBuffer相比,仅能获得10%~15%的性能提升,但却要冒线程不安全的风险。而在现实的模块化编程中,负责某一模块的程序员不一定能清晰的判断该模块是否被放入多线程的环境中运行,因此,除非能确定你的系统瓶颈是在StringBuffer上,并且确定你的模块不会再在多线程模式下,否则还是用StringBuffer。
(3)用好现有的类比引入新的类更重要。很多程序员在使用StringBuffer时是不指定其容量的,如果这样的习惯带入StringBuilder的使用中,只能获得10%左右的性能提升;但如果使用制动容量的StringBuffer,将马上获得45%左右的性能提升,甚至比不使用指定容量的StringBuilder快30%左右。