StringBuffer
StringBuffer类能创建可以修改的字符串系列
StringBuffer buffer=mew StringBuffer(“I love you”); |
---|
追加方法append
buffer.append(" give me a chance"); |
---|
那么现在buffer中的字符串变成了I love you give me a chance
insert(int index,String str)
将字符串str插入到第index位置
reverse()
将该对象实体中的字符串反转,并返回当前对象的引用
delete(int startIndex,int endIndex)
从该字符串的第startIndex个开始到第endIndex(不包含)个删除字符串并返回当前对象的引用。
replace(int startIndex,int endIndex,String str)
用字符串str替换从下标startIndex开始到endIndex-1这部分字符
=====================
StringBuilder
一个可变的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步。与StringBuffer功能相同。
StringBuffer与StringBuilder的区别:
- StringBuffer是同步的,线程安全,相对于StringBuider效率低;
- StringBuider是不同步的,线程不安全,效率高。====================
String
Java中的String类型是不允许改变其内容的,String类型的对象一旦建立,将在堆内存当中占据一个固定的内存空间,String类型的对象无法改变。
如果你定义了:
String s=“abc”;
那么将创建一个内容为"abc"的String对象,并且s指向这个对象。
一旦*s=s+123+new Date()*这样的操作,那么将创建一个新的String对象来存放新的内容,原先的对象依旧在内存中,但是s不再指向它,那么这个对象就会成为垃圾内存,在某一个特定的时刻有Java虚拟机回收。
如果希望存放的String可以调整大小,而不是创建新的内存来存放新的对象,可以使用StringBuffer这个类来存放。