String、StringBuilder和StringBuffer

一、String、StringBuilder和StringBuffer的区别

String:每次对其对象操作(如字符串拼接)都会产生一个新的对象,如果有大量的操作,则JVM会频繁的创建新对象,回收垃圾,拖慢程序运行速度

StringBuilder:其对象本身是可变的,频繁操作不会产生新的对象,线程不安全,速度相比其他两个最快。

StringBuffer:其对象本身是可变的,频繁操作不会产生新的对象,线程安全,速度大于String而小与StringBuilder。

二、使用场景

String:适合对字符串操作不太频繁的场景

StringBuilder:操作速度最快,但线程不安全的特性,适合单线程中频繁操作字符缓冲区的场景

StringBuffer:操作速度较快,线程安全,适合多线程中频繁操作字符缓冲区的场景

 

 

你可能感兴趣的:(Java)