一、String、StringBuilder和StringBuffer的区别
String:每次对其对象操作(如字符串拼接)都会产生一个新的对象,如果有大量的操作,则JVM会频繁的创建新对象,回收垃圾,拖慢程序运行速度
StringBuilder:其对象本身是可变的,频繁操作不会产生新的对象,线程不安全,速度相比其他两个最快。
StringBuffer:其对象本身是可变的,频繁操作不会产生新的对象,线程安全,速度大于String而小与StringBuilder。
二、使用场景
String:适合对字符串操作不太频繁的场景
StringBuilder:操作速度最快,但线程不安全的特性,适合单线程中频繁操作字符缓冲区的场景
StringBuffer:操作速度较快,线程安全,适合多线程中频繁操作字符缓冲区的场景