JavaSE_基础库类_StringBuffer类

来源:互联网 发布:linux如何解压zip文件 编辑:程序博客网 时间:2024/04/29 17:03

StringBuffer类和String类一样都是用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以在处理字符串时不会生成新的对象,在内存使用上要由于String类。

String类在对字符串进行修改时会新建String类,对内存开销很大,所以如果经常对字符串进行修改、删除、插入等操作时更推荐用StringBuffer类。

对StringBuffer进行修改时都会改变原本的对象。

StringBuffer类和String类的很多的方法都是一样的且用法也相同。

1) StringBuffer类的初始化

2) StringBuffer类和String类相互转换

3) StringBuffer类的一些方法


一、StringBuffer类的初始化

用构造器构建对象

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer strBuf1 = new StringBuffer();StringBuffer strBuf2 = new StringBuffer("abc");</span>



二、StringBuffer类和String类相互转换

StringBuffer类和String类不同所以不能直接进行转换。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer s1 = "abc";                  //errorStringBuffer s2 = (StringBuffer)"abc";    //errorString sb1 = "abc";StringBuffer sb2 = new StringBuffer("123");StringBuffer sb3 = new StringBuffer(sb1);    //String转StringBufferString sb4 = sb3.toString();                 //StringBuffer转String</span>


三、StringBuffer类的一些方法

1)     public StringBuffer append(...);

追加内容到StringBuffer之后,类似于字符串的连接。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("abc");sb1.append("123");System.out.println(sb1.toString());   //abc123</span>
此类拼接方法比String更加简洁高效,比如我们在对SQL进行操作时可以这样写。

<span style="font-family:KaiTi_GB2312;font-size:14px;">String TableName = "PersonInfo";StringBuffer sb = new StringBuffer();sb.append("SELECT * FROM ").append(TableName);System.out.println(sb);    //"SELECT * FROM PersonInfo"</span>


2)     public StringBuffer deleteCharAt(int index);  删除指定位置的索引,若index=1则删除字符串的第二个字符

public StringBuffer delete(int startIndex, int endIndex);  删除指定区间的字符串,删除的内容包含startIndex、不包含endIndex。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");sb1.deleteCharAt(2);  //Myobsb1.delete(1, 3);     //Mb</span>



3)     public StringBuffer insert(int offset, Object b); 该方法作用是对StringBuffer插入字符串。插入的位置从offset前一位,第二个参数为插入的内容。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");sb1.insert(2, "123"); //My123Job</span>


4)     public StringBuffer reverse(); 该方法是将StringBuffer内容进行反转形成新的字符串。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");sb1.reverse();   //boJyM </span>



5)     public StringBuffer setCharAt(int index, char ch);  将字符串index索引出的字符改为ch。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");sb1.setCharAt(1, 'M');  //MMJob</span>


6)     public void trimToSize();

该方法的作用是将StringBuffer对象中的存储空间缩小到和字符串一样的长度,减少空间浪费。









0 0
原创粉丝点击