String,StringBuffer,StringBuilder都可以存储和操作字符串,即包含多个字符的字符数据,String类:提供了数值不可变的字符串,而StringBuffer,StringBuilder提供了可以改变的字符串。如果字符串需要改变的时候,或者说需要经常对字符串的内容进行修改时,就可以使用StringBuffer,StringBuilder,典型的,可以使用StringBuffer,StringBuiler动态的构造字符数据,如果最后需要字符串,可以调用它们的toString()方法。StringBuffer和StringBuilder的区别是,StringBuffer是线性安全的,StringBuilder是从JDK5.0开始的,目的是为StringBuffer提供一个单个线程使用的等价类,通常应该优先使用StringBuilder,因为它支持所有相同的操作,但是由于它不用执行同步操作,因此速度更快。