String StringBuilder StringBuffer

47 阅读1分钟

第5题(2023/9/10)

String、StringBuilder、StringBuffer之间有什么区别?

(1)String是被final修饰的是不可变的,不可变自然就线程安全不存在并发问题。每次对String类型数据进行操作之后都会产生新的对象。

(2)StringBuilder和StringBuffer都可以在原对象中进行直接操作

StringBuilder是线程不安全的,StringBuffer是线程安全的。StringBuffer的线程安全是通过Synchronized锁实现的。

使用场景:在绝大多数情况下,我们都会使用StringBuIlder,而当变量为共享变量,并处多线程场景时,为避免并发问题,我们会选择StingBuffer