String 和StringBuffe StringBuilder 的区别

Posted chenlong321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String 和StringBuffe StringBuilder 的区别相关的知识,希望对你有一定的参考价值。

1.可变性:String不可变(适用于做HashMap的键),StringBuffer和StringBuilder可变

2.性能角度:,String在new的时候,会在常量池中开辟空间,比较耗费内存,而StringBuffer,StringBuiilder字符串缓冲区(里面存储的全部都是字符串),它会释放掉

3.赋值不同:StringBuffer和StringBuilder只能通过构造函数来建立,String可以除了构造方法外还可以赋值,如:String str = "abc";

4.性能:字符串拼接时,String效率低于俩者

5.安全:String、StringBuffer线程安全,StringBuilder线程不安全,单线程下StringBuilder效率最高

6.特有功能:StringBuffer有字符串反转功能,其他俩者没有

以上是关于String 和StringBuffe StringBuilder 的区别的主要内容,如果未能解决你的问题,请参考以下文章

java 面试整理持续整理中

java中String&StringBuffer&StringBuilder

替换空格

StringBuilder / StringBuffer类

华为OJ:数字颠倒

华为OJ:数字颠倒