String、StringBuffer和StringBuilder的区别
这是面试中经常问到的问题。
所以,网上答案很多。
在开发中,如果确定字符串会经常变化(拼接),建议使用StringBuffer(线程安全);如果再确认是在单线程环境中,建议使用StringBuilder(非线程安全)。打开Jdk源代码看看便知:StringBuffer中方法基本都是同步的(synchronized)——线程安全;StringBuilder是从 JDK 5 开始,为StringBuffer补充了一个单个线程使用的等价类。
故而,基本性能是:StringBuilder>StringBuffer>String