第5题(2023/9/10)
String、StringBuilder、StringBuffer之间有什么区别?
答
(1)String是被final修饰的是不可变的,不可变自然就线程安全不存在并发问题。每次对String类型数据进行操作之后都会产生新的对象。
(2)StringBuilder和StringBuffer都可以在原对象中进行直接操作
StringBuilder是线程不安全的,StringBuffer是线程安全的。StringBuffer的线程安全是通过Synchronized锁实现的。
使用场景:在绝大多数情况下,我们都会使用StringBuIlder,而当变量为共享变量,并处多线程场景时,为避免并发问题,我们会选择StingBuffer