StringBuffer类
StringBuffer类主要是用于方便用户修改字符串的内容。
方法:
public StringBuffer();
创建一个空的StringBuffer对象。
StringBuffer a=new StringBuffer();
public StringBuffer(String str);
创建一个有内容的StringBuffer对象。
StringBuffer b=new StringBuffer(“撤退”);
public StringBuffer append(数据类型 变量);
将变量加入到StringBuffer对象中。
a.append(“为了正义”);
public StringBuffer insert(int offset,数据类型 变量);
在指定索引位置插入数据。
b.insert(0,“没有”).insert(4,“可言”);
public StringBuffer delete(int start,int end);
删除指定索引范围之内的数据(包括start,不包括end)。
a.delete(0,2);
public StringBuffer reverse();
内容反转。
b.reverse();
可以将StringBuffer对象转换成Sting类型来使用。
String c=a.toString();
CharSequence接口
CharSequence是从JDK1.4开始提供的一个描述字符串标准的接口。常见的子类有3个:String、StringBuffer、StringBuilder。
方法:
public char charAt(int index);
获取指定索引字符
char g=a.charAt(1);
public int length();
获取字符串长度。
int l=b.length();
public CharSequence subSequence(int start,int end);
截取部分字符串(包括start,不包括end)。
CharSequence cs=“无所畏惧”;
CharSequence charSequence=cs.subSequence(0,2);
注:
1、面对字符串的操作,大部分情况下优先考虑String,只有在频繁修改这一操作中才会考虑使用StringBuffer或StringBuilder。
2、StringBuffer和StringBuilder的功能相似,两者的区别在于:
StringBuffer类中的方法使用了synchronized关键字定义,适合于多线程并发访问下的同步处理。
StringBuilder类中的方法没有使用synchronized关键字定义,属于非线程安全的方法。
最后送给大家一首诗
StringBuffer S1=new StringBuffer();
StringBuffer S2=new StringBuffer();
StringBuffer S3=new StringBuffer();
StringBuffer S4=new StringBuffer();
StringBuffer S=new StringBuffer();
S1.append(“潮随暗浪雪山倾,远浦渔舟钓月明”);
S2.append(“桥对寺门松径小,槛当泉眼石波清”);
S3.append(“迢迢绿树江天晓,霭霭红霞海日晴”);
S4.append(“遥望四边云接水,碧峰千点数鸿轻”);
S.append(S1+"\n").append(S2+"\n").append(S3+"\n").append(S4);
String E=S.toString();
System.out.println(E);
System.out.println("==================");
S.reverse();
E=S.toString();
System.out.println(E);