欢迎光临散文网 会员登陆 & 注册

面试精选4-StringBuffer,StringBuilder开发中如何做选择?

2022-09-22 10:17 作者:架构风清扬-趣学旅程  | 我要投稿

首先,String 跟其他两个类的区别是

String是final类型,每次声明的都是不可变的对象,
所以每次操作都会产生新的String对象,然后将指针指向新的String对象。

StringBuffer,StringBuilder都是在原有对象上进行操作

所以,如果需要经常改变字符串内容,则建议采用这两者。

StringBuffer vs StringBuilder

前者是线程安全的,后者是线程不安全的。
线程不安全的StringBuilder性能更高,所以在开发中,优先采用StringBuilder.
StringBuilder > StringBuffer > String

注意:

我们在开发中为什么会选择StringBuilder?

这个要看场景,有同学说可以为了性能放弃安全,这是不对的。

大家想想,什么情况下需要考虑线程安全的问题?

有一个前提条件就是:多线程访问同一个资源,且有更新操作

所以,只要不是这样的场景,我们就可以放心使用StringBuilder

而我们在开发中,通常使用StringBuilder在方法内来创建对象和拼接信息,而这种情况是一个线程对应一个StringBuilder对象


视频解读版:

https://www.bilibili.com/video/BV1a3411s7ZZ/?spm_id_from=333.788&vd_source=f66db79b04d3d1f2d3f349e50525f38e


面试精选4-StringBuffer,StringBuilder开发中如何做选择?的评论 (共 条)

分享到微博请遵守国家法律