String 是final的,只要每次操作String字符串,则每次都会生成新的对象,消耗内存;
StringBuffer、StringBuilder都是在原对象上操作
StringBuffer 是线程安全的,StringBuilder是线程不安全的
StringBuffer方法都是synchronized修饰的
性能:StringBuilder>StringBuffer>String
标准面试回答:
经常需要改变字符串内容时使用StringBuffer、StringBuilder
优先使用StringBuilder,多线程使用共享变量时使用StringBuffer。
如果你喜欢我的分享,欢迎关注微信公众号 java学长分享技术干货!
悄悄告诉你免费赠送重磅互联网架构师教程,提升职场技术水平!