美文网首页
String,StringBuffer,StringBuilde

String,StringBuffer,StringBuilde

作者: 双囍_小赵 | 来源:发表于2024-05-21 12:26 被阅读0次

1.可变性

String内部是由final修饰的,所以是一个不可变的类,所以每次修改string值的时候都会产生一个新的对象;

StringBuffer和StringBuilder是一个可变类,字符串的变更不会产生新的对象;

2.线程安全性

String由于是不可变的所以是线程安全的

StringBuffer也是线程安全,因为它内部使用一个synchronized同步关键字;

StringBuilder不是线程安全,所以在多线程下操作应该使用以上两种;

3.性能方面

String由于不可变,在做字符串拼接或修改,需要重新创建新的对象以及内存分配;

StringBuffer比String性能更高点,因为它的可变性,意味着字符串被修改或者拼接不会导致新对象创建;

4.存储方面

String存储在字符串常量池中;

Stringbuffer和Stringbuider是存储在堆内存中的;

Stringbuffer和stringbuilder都是派生自AbstractStringbuidler这样一个抽象类。

相关文章

网友评论

      本文标题:String,StringBuffer,StringBuilde

      本文链接:https://www.haomeiwen.com/subject/bohafjtx.html