String、StringBuilder和StringBuffer的联系、区别及其使用场景

String、StringBuilder和StringBuffer的联系、区别及其使用场景

编码文章call10242025-06-30 15:13:444A+A-

【死记硬背】

联系: String,StringBuilder,StringBuffer来表示字符串。

区别: String是内容不可变的字符串,而StringBuilder和StringBuffer是内容可以改变的字符串。 String底层使用了一个不可变的字符数组(final char[]),StringBuilder,StringBuffer底层用的是可变的字符数组(没有使用final来修饰) StringBuilder是线程不安全的,效率高。StringBuffer是线程安全的,效率低。

使用场景:经常需要改变字符串内容时使用StringBuilder和StringBuffer,并且优先使用StringBuilder,多线程使用共享变量时使用StringBuffer。

【答案解析】

String是final修饰的,不可变,每次操作都会产生新的String对象。StringBuilder和StringBuffer都是在原对象上操作,StringBuffer的方法都使用了synchronized修饰,所以是线程安全的。它们的性能排序为:StringBuilder > StringBuffer > String。

【温馨提示】

点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4