学习要点
1.StringBuffer类的主要特点
2.StringBuffer,StringBuilder,String的区别
[回顾要点]
String类的特点
1.string类有两种实例化对象方式:
- 直接赋值:只开辟一块堆内存空间,后续赋值如果相同,可以自动入池;
- 构造方法:使用new操作,开辟两块堆内存,不会自动入池,使用intern()手工入池;
2.任何一个字符串都是String的匿名对象
3.最重要的特征是:
字符串一旦声明则不可改变,可以改变的是String类对象的引用
String类存在一个问题,就是其内容不可改变。而StringBuffer内容是可以改变的。
StringBuffer
为了灵活改变String,Java里提供了—StringBuffer类(里面的内容可以修改)从Jdk1.0开始出现使用。
string对象用“+”来进行字符串的连接操作,而StringBuffer类里面必须使用append()方法进行追加
方法:
public StringBuffer append(数据类型 变量)
String和StringBuffer有相同的CharSequence接口,但这两个类却不能直接转换
String和StringBuffer转换方法
String->StringBuffer
1.利用StringBuffer类的构造方法
public StringBuffer(String str)
2.利用append()方法
public StringBuffer.append(string str)
StringBuffer->String
1.利用toString()方法进行转换
2.利用String类的构造方法
public String(StringBuffer str)
**
常见的StringBuffer类库的方法
**
1.字符串反转 public StringBuffer reverse ()
2.字符串插入 (在指定的索引位置添加数据)
public StringBuffer insert(int offset,数据类型 变量)
3.删除部分数据 public StringBuffer delete(int start,int end)
从Jdk1.5增加了一个新的字符串操作类:StringBuilder类,这个类的定义结构与StringBuffer非常相似,几乎连方法也一样。
常见面试题
String,StringBuild,StringBuffer类的区别
1.String内容一旦声明则不可改变,而StringBuffer与StringBuilder声明的内容可以改变。
2.StringBuffer类中提供的方法都是同步方法,属于安全的线程操作,而StringBuilder属于非线程安全的操作。
在开发中,如果看到字符串的应用,无需思考,大部分采用String类,只有在需要频繁修改的时候才会考虑到StringBuffer或StringBuilder类操作。
**
总结:
**
String类依然是最常用的字符串描述类,而StringBuffer类由于出现较长且比较安全,所以比StringBuilder用的多。
1519

被折叠的 条评论
为什么被折叠?



