String为字符串变量,而StringBuilder和StringBuffer是字符串变量。
StringBuilder和StringBuffer是字符串变量默认大小都是16;
StringBuffer是线程安全的,其读写操作函数都有synchronized关键字,
StringBuilder是非线程安全的。
但是相对于StringBuffer ,StringBuilder在速度上还是有优势的,因为synchronized系统开销大。
所以:
String适用于有少量字符串操作的情况下。
StringBuffer适用于多线程有较多字符串操作的情况下。
StringBuilder适用于单线程有较多字符串操作的情况下。
StringBuilder和StringBuffer都继承与AbstractStringBuilder。