当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。
和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder类在Java 5中被提出,
线程安全角度:
StringBuffer:线程安全,可以同步访问,为什么线程安全,因为StringBuffer类的几乎所有的方法都加了synchronized关键字
StringBuilder:方法不是线程安全的(不能同步访问)。
访问效率:
由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。
结论:当单线程访问字符串时,不用考虑线程安全问题,则建议使用 StringBuilder;
当多线程访问字符串时,必须要使用StringBuffer