Java中 StringBuffer 和 StringBuilder的使用和String类的区别和联系

首先来回顾下String类的特点:
任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指 向而已。
通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffer和 StringBuilder类。
StringBuffer 和 StringBuilder 大部分功能是相同的,主要介绍 StringBuffer。在String中使用"+"来进行字符串连接,但是这个操作在StringBuffer类中需要更改为append()方法

String和StringBuffer大的区别在于:String的内容无法修改,而StringBuffer的内容可以修改。频繁修改字符串的 情况考虑使用StingBuffer。
StringBuilder 类 线程不安全 效率高
StringBuffer类 线程安全 效率低
1,他们的属性是一个可变的字符数组,默认长度为16
2,如果存的字符串长度大于字符数组长度,会自动扩容为原来的长度的2倍加2,
3,append(“aa”) 累加 返回this 实现方法链
4,delete(from,to)删除从[from,to)
5,replace(from,to,str) [from,to) 把from到to的字符串替换为str;
6,reverse() 反转
7,inserst(index,str)插入

面试题:请解释String、StringBuffer、StringBuilder的区别: String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
StringBuffer与StringBuilder大部分功能是相似的 StringBuffer采用同步处理,属于线程安全操作;而StringBuilder采用异步处理,属于线程不安全操作

发布了55 篇原创文章 · 获赞 85 · 访问量 5123

猜你喜欢

转载自blog.csdn.net/lzh_99999/article/details/104049877